kernel: update 3.18 to 3.18.14
[openwrt/svn-archive/archive.git] / target / linux / oxnas / patches-3.18 / 999-libata-hacks.patch
index a1c80d89eb9d184d74dd6577e21ce7b2ef8fd1aa..741dddff4012508ac6f6cd983a03f48a96290d36 100644 (file)
@@ -1,8 +1,6 @@
-Index: linux-3.18-rc7/drivers/ata/libata-core.c
-===================================================================
---- linux-3.18-rc7.orig/drivers/ata/libata-core.c
-+++ linux-3.18-rc7/drivers/ata/libata-core.c
-@@ -1568,6 +1568,14 @@ unsigned ata_exec_internal_sg(struct ata
+--- a/drivers/ata/libata-core.c
++++ b/drivers/ata/libata-core.c
+@@ -1581,6 +1581,14 @@ unsigned ata_exec_internal_sg(struct ata
                return AC_ERR_SYSTEM;
        }
  
@@ -17,7 +15,7 @@ Index: linux-3.18-rc7/drivers/ata/libata-core.c
        /* initialize internal qc */
  
        /* XXX: Tag 0 is used for drivers with legacy EH as some
-@@ -4739,6 +4747,9 @@ static struct ata_queued_cmd *ata_qc_new
+@@ -4752,6 +4760,9 @@ static struct ata_queued_cmd *ata_qc_new
        if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
                return NULL;
  
@@ -25,9 +23,9 @@ Index: linux-3.18-rc7/drivers/ata/libata-core.c
 +              return NULL;
 +
        for (i = 0, tag = ap->last_tag + 1; i < max_queue; i++, tag++) {
-               tag = tag < max_queue ? tag : 0;
-@@ -4805,6 +4816,8 @@ void ata_qc_free(struct ata_queued_cmd *
+               if (ap->flags & ATA_FLAG_LOWTAG)
+                       tag = i;
+@@ -4824,6 +4835,8 @@ void ata_qc_free(struct ata_queued_cmd *
        if (likely(ata_tag_valid(tag))) {
                qc->tag = ATA_TAG_POISON;
                clear_bit(tag, &ap->qc_allocated);
@@ -36,11 +34,9 @@ Index: linux-3.18-rc7/drivers/ata/libata-core.c
        }
  }
  
-Index: linux-3.18-rc7/include/linux/libata.h
-===================================================================
---- linux-3.18-rc7.orig/include/linux/libata.h
-+++ linux-3.18-rc7/include/linux/libata.h
-@@ -884,6 +884,8 @@ struct ata_port_operations {
+--- a/include/linux/libata.h
++++ b/include/linux/libata.h
+@@ -891,6 +891,8 @@ struct ata_port_operations {
        void (*qc_prep)(struct ata_queued_cmd *qc);
        unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
        bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
@@ -49,7 +45,7 @@ Index: linux-3.18-rc7/include/linux/libata.h
  
        /*
         * Configuration and exception handling
-@@ -974,6 +976,9 @@ struct ata_port_operations {
+@@ -981,6 +983,9 @@ struct ata_port_operations {
        void (*phy_reset)(struct ata_port *ap);
        void (*eng_timeout)(struct ata_port *ap);