cciss: Fix scsi tape io with more than 255 scatter gather elements
authorStephen M. Cameron <scameron@beardog.cce.hp.com>
Thu, 22 Mar 2012 20:40:09 +0000 (21:40 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 22 Apr 2012 23:21:24 +0000 (16:21 -0700)
commitcaa6b6d39d177e872297a868d22c2fc3c770534a
treedf4d21d4e5e2ab85f35fe6ada0bf760a0cdeda50
parentaeac9d304531167f19aac6bb914046a5c04785dd
cciss: Fix scsi tape io with more than 255 scatter gather elements

commit bc67f63650fad6b3478d9ddfd5406d45a95987c9 upstream.

The total number of scatter gather elements in the CISS command
used by the scsi tape code was being cast to a u8, which can hold
at most 255 scatter gather elements.  It should have been cast to
a u16.  Without this patch the command gets rejected by the controller
since the total scatter gather count did not add up to the right
value resulting in an i/o error.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/block/cciss_scsi.c