]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/patches/suse-2.6.27.25/patches.drivers/mptsas-discover-all-devices
Reenabled linux-xen and xen-image build
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.drivers / mptsas-discover-all-devices
CommitLineData
00e5a55c
BS
1From: Jeremy Higdon <jeremy@sgi.com>
2Subject: mptsas driver fails to discover devices
3References: bnc#459932
4
5The mptsas driver has a serious regression in sles11rc1 in that it fails to
6discover devices that work fine with sles10sp2.
7
8I discovered that part of the problem was that the target number of the RAID
9volume was too high for the driver to discover it.
10
11The problem with the IS220 (LSI 1333 RAID) is that the driver is issuing its
12own Test Unit Read and that's apparently being considered a failure from the
13Unit Attention statuses.
14
15With this patch the system boots okay.
16
17Signed-off-by: Jeremy Higdon <jeremy@sgi.com>
18Signed-off-by: Sathya Prakash <sathya.prakash@lsi.com>
19Signed-off-by: Hannes Reinecke <hare@suse.de>
20
21--- /mnt/usr/src/linux/drivers/message/fusion/mptsas.c 2008-12-08 06:54:50.000000000 -0800
22+++ linux/drivers/message/fusion/mptsas.c 2009-01-18 22:16:30.456811758 -0800
23@@ -1580,12 +1580,10 @@
24 enum device_state state;
25 int rc;
26 u8 skey, asc, ascq;
27- u8 retry_ua;
28
29 if (count >= mpt_cmd_retry_count)
30 return DEVICE_ERROR;
31
32- retry_ua = 0;
33 iocmd = kzalloc(sizeof(INTERNAL_CMD), GFP_KERNEL);
34 if (!iocmd) {
35 printk(MYIOC_s_ERR_FMT "%s: kzalloc(%zd) FAILED!\n",
36@@ -1646,10 +1644,8 @@
37 __func__, channel, id, skey, asc, ascq));
38
39 if (skey == UNIT_ATTENTION) {
40- if (!retry_ua) {
41- retry_ua++;
42- goto retry;
43- }
44+ state = DEVICE_RETRY;
45+ break;
46 } else if (skey == NOT_READY) {
47 /*
48 * medium isn't present
49@@ -3740,6 +3736,7 @@
50 return;
51 }
52 }
53+ mpt_findImVolumes(ioc);
54
55 case MPTSAS_ADD_DEVICE:
56 memset(&sas_device, 0, sizeof(struct mptsas_devinfo));