diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2005-07-27 14:43:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-27 19:25:51 -0400 |
commit | b24b1033451fcc87087a692fc47ca45daebd51ac (patch) | |
tree | 6a0bba28834105976dad411f37d98a494f6312b0 /drivers/scsi | |
parent | 104e49fc1e1656142869fab0e75d7df52b72eed9 (diff) |
[PATCH] scsi_scan: check return code from scsi_sysfs_add_sdev
Adds a missing check for an error return code from scsi_sysfs_add_sdev.
This resolves entry #4863 in the OSDL bugzilla. Although in that bug
report the failure occurred because of a confusion over scanning vs.
rescanning, in general add_sdev can fail for a number of reasons (the
simplest being insufficient memory) and the caller should cope properly.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: James Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/scsi_scan.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index ad3a5b142468..2d3c4ac475f2 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
@@ -756,7 +756,8 @@ static int scsi_add_lun(struct scsi_device *sdev, char *inq_result, int *bflags) | |||
756 | * register it and tell the rest of the kernel | 756 | * register it and tell the rest of the kernel |
757 | * about it. | 757 | * about it. |
758 | */ | 758 | */ |
759 | scsi_sysfs_add_sdev(sdev); | 759 | if (scsi_sysfs_add_sdev(sdev) != 0) |
760 | return SCSI_SCAN_NO_RESPONSE; | ||
760 | 761 | ||
761 | return SCSI_SCAN_LUN_PRESENT; | 762 | return SCSI_SCAN_LUN_PRESENT; |
762 | } | 763 | } |