summaryrefslogtreecommitdiffstats
path: root/drivers/ieee1394
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2008-02-17 14:57:10 +0100
committerStefan Richter <stefanr@s5r6.in-berlin.de>2008-02-19 19:57:24 +0100
commitef774c16a744f130f27c654bf9c4806e767fc773 (patch)
treef9a4b9897d46cfeb0d21901ca9f7e5b9e093382b /drivers/ieee1394
parentfirewire: fw-sbp2: fix NULL pointer deref. in scsi_remove_device (diff)
downloadlinux-ef774c16a744f130f27c654bf9c4806e767fc773.tar.xz
linux-ef774c16a744f130f27c654bf9c4806e767fc773.zip
ieee1394: sbp2: fix rescan-scsi-bus
rescan-scsi-bus used to add SBP-2 targets which weren't there. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/ieee1394')
-rw-r--r--drivers/ieee1394/sbp2.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/ieee1394/sbp2.c b/drivers/ieee1394/sbp2.c
index accb2ad8b561..9e2b1964d71a 100644
--- a/drivers/ieee1394/sbp2.c
+++ b/drivers/ieee1394/sbp2.c
@@ -1974,6 +1974,9 @@ static int sbp2scsi_slave_alloc(struct scsi_device *sdev)
{
struct sbp2_lu *lu = (struct sbp2_lu *)sdev->host->hostdata[0];
+ if (sdev->lun != 0 || sdev->id != lu->ud->id || sdev->channel != 0)
+ return -ENODEV;
+
lu->sdev = sdev;
sdev->allow_restart = 1;