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 07be62bbaaea..55200e4fdf11 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; |
