]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/suse-2.6.27.25/patches.arch/s390-03-09-zfcp-oops-during-target-scan.patch
Revert "Move xen patchset to new version's subdir."
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.arch / s390-03-09-zfcp-oops-during-target-scan.patch
1 From: Gerald Schaefer <geraldsc@de.ibm.com>
2 Subject: zfcp: prevent SCSI target scan for vanished rport
3 References: bnc#440610,LTC#49373
4
5 Symptom: Oops unable to handle ptr dereference
6 Problem: A rport might be referenced eventhough it vanished
7 Solution: Verify that rport is still existant and online
8
9 Acked-by: John Jolly <jjolly@suse.de>
10 ---
11 drivers/s390/scsi/zfcp_erp.c | 4 +++-
12 1 file changed, 3 insertions(+), 1 deletion(-)
13
14 Index: linux-sles11/drivers/s390/scsi/zfcp_erp.c
15 ===================================================================
16 --- linux-sles11.orig/drivers/s390/scsi/zfcp_erp.c
17 +++ linux-sles11/drivers/s390/scsi/zfcp_erp.c
18 @@ -1187,7 +1187,9 @@ static void zfcp_erp_scsi_scan(struct wo
19 container_of(work, struct zfcp_erp_add_work, work);
20 struct zfcp_unit *unit = p->unit;
21 struct fc_rport *rport = unit->port->rport;
22 - scsi_scan_target(&rport->dev, 0, rport->scsi_target_id,
23 +
24 + if (rport && rport->port_state == FC_PORTSTATE_ONLINE)
25 + scsi_scan_target(&rport->dev, 0, rport->scsi_target_id,
26 scsilun_to_int((struct scsi_lun *)&unit->fcp_lun), 0);
27 atomic_clear_mask(ZFCP_STATUS_UNIT_SCSI_WORK_PENDING, &unit->status);
28 zfcp_unit_put(unit);