Skip to contentSkip to conversation

cciss: fix flush cache transfer length

PATCH New Stephen M. Cameron 1 participant 1 message Oct 26, 2011 Block layer

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 cciss: fix flush cache transfer length

From: Stephen M. Cameron <[email protected]>

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.

---
 drivers/block/cciss.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/block/cciss.c +2 -0
index 8f4ef65..54d76ea 100644
@@ -2582,6 +2582,8 @@ static int fill_cmd(ctlr_info_t *h, CommandList_struct *c, __u8 cmd, void *buff,
 			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;