[SCSI] megaraid_mbox: fix Dell CERC firmware problem
authorHannes Reinecke <hare@suse.de>
Fri, 18 Apr 2008 20:57:20 +0000 (13:57 -0700)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Wed, 30 Apr 2008 00:34:07 +0000 (19:34 -0500)
commit69cd39e94669e2994277a29249b6ef93b088ddbb
tree722b6477a1b08cb3435c74ae344b79c58d22be04
parent064922a805ec7aadfafdd27aa6b4908d737c3c1d
[SCSI] megaraid_mbox: fix Dell CERC firmware problem

Newer Dell CERC firmware (>= 6.62) implement a random deletion handling
compatible with the legacy megaraid driver.  The legacy handling shifted
the target ID by 0x80 only for I/O commands (READ/WRITE/etc), whereas
megaraid_mbox shifts the target ID always if random deletion is supported.
The resulted in megaraid_mbox sending an INQUIRY to the wrong channel, and
not finding any devices, obviously.

So we disable the random deletion support if the offending firmware is
found.

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=6695

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: "Yang, Bo" <Bo.Yang@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/megaraid/megaraid_mbox.c
drivers/scsi/megaraid/megaraid_mbox.h