diff options
Diffstat (limited to 'drivers/scsi/scsi_proc.c')
-rw-r--r-- | drivers/scsi/scsi_proc.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_proc.c b/drivers/scsi/scsi_proc.c index 07be62bbaae..55200e4fdf1 100644 --- a/drivers/scsi/scsi_proc.c +++ b/drivers/scsi/scsi_proc.c | |||
@@ -266,8 +266,6 @@ static ssize_t proc_scsi_write(struct file *file, const char __user *buf, | |||
266 | lun = simple_strtoul(p + 1, &p, 0); | 266 | lun = simple_strtoul(p + 1, &p, 0); |
267 | 267 | ||
268 | err = scsi_add_single_device(host, channel, id, lun); | 268 | err = scsi_add_single_device(host, channel, id, lun); |
269 | if (err >= 0) | ||
270 | err = length; | ||
271 | 269 | ||
272 | /* | 270 | /* |
273 | * Usage: echo "scsi remove-single-device 0 1 2 3" >/proc/scsi/scsi | 271 | * Usage: echo "scsi remove-single-device 0 1 2 3" >/proc/scsi/scsi |
@@ -284,6 +282,13 @@ static ssize_t proc_scsi_write(struct file *file, const char __user *buf, | |||
284 | err = scsi_remove_single_device(host, channel, id, lun); | 282 | err = scsi_remove_single_device(host, channel, id, lun); |
285 | } | 283 | } |
286 | 284 | ||
285 | /* | ||
286 | * convert success returns so that we return the | ||
287 | * number of bytes consumed. | ||
288 | */ | ||
289 | if (!err) | ||
290 | err = length; | ||
291 | |||
287 | out: | 292 | out: |
288 | free_page((unsigned long)buffer); | 293 | free_page((unsigned long)buffer); |
289 | return err; | 294 | return err; |