--- /dev/null
+From stable-bounces@linux.kernel.org Fri Mar 21 08:43:09 2008
+Date: Fri, 21 Mar 2008 15:15:03 GMT
+Message-Id: <200803211515.m2LFF3YX032293@hera.kernel.org>
+From: jejb@kernel.org
+To: jejb@kernel.org, stable@kernel.org
+Subject: SCSI advansys: Fix bug in AdvLoadMicrocode
+
+From: Matthew Wilcox <matthew@wil.cx>
+commit: 951b62c11e86acf8c55d9828aa8c921575023c29
+
+buf[i] can be up to 0xfd, so doubling it and assigning the result to an
+unsigned char truncates the value. Just use an unsigned int instead;
+it's only a temporary.
+
+Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
+Cc: Stable Tree <stable@kernel.org>
+Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+ drivers/scsi/advansys.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/scsi/advansys.c
++++ b/drivers/scsi/advansys.c
+@@ -6439,7 +6439,7 @@ static int AdvLoadMicrocode(AdvPortAddr
+ i += 2;
+ len += 2;
+ } else {
+- unsigned char off = buf[i] * 2;
++ unsigned int off = buf[i] * 2;
+ unsigned short word = (buf[off + 1] << 8) | buf[off];
+ AdvWriteWordAutoIncLram(iop_base, word);
+ len += 2;
jbd-correctly-unescape-journal-data-blocks.patch
aio-bad-aio-race-in-aio_complete-leads-to-process-hang.patch
async_tx-avoid-the-async-xor_zero_sum-path-when-src_cnt-device-max_xor.patch
+scsi-advansys-fix-bug-in-advloadmicrocode.patch