]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
[SCSI] hpsa: fix flush cache transfer length
authorStephen M. Cameron <scameron@beardog.cce.hp.com>
Wed, 26 Oct 2011 21:21:17 +0000 (16:21 -0500)
committerJoe Jin <joe.jin@oracle.com>
Tue, 15 May 2012 07:59:39 +0000 (15:59 +0800)
We weren't filling in the transfer length of the
flush cache command (it transfers 4 bytes of zeroes).
Firmware didn't seem to be bothered by this, but it
should be fixed.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit bb158eabda984851d7964d968b9859383f98a701)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/scsi/hpsa.c

index 9a7baacf51bb17563eb6afbb0a2cf832ea67f924..a69381dac9fe3bef41b77ba8e236b73a45e0236e 100644 (file)
@@ -2933,6 +2933,8 @@ static void fill_cmd(struct CommandList *c, u8 cmd, struct ctlr_info *h,
                        c->Request.Timeout = 0;
                        c->Request.CDB[0] = BMIC_WRITE;
                        c->Request.CDB[6] = BMIC_CACHE_FLUSH;
+                       c->Request.CDB[7] = (size >> 8) & 0xFF;
+                       c->Request.CDB[8] = size & 0xFF;
                        break;
                case TEST_UNIT_READY:
                        c->Request.CDBLen = 6;