X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fscsi%2Fscsi_proc.c;fp=drivers%2Fscsi%2Fscsi_proc.c;h=07be62bbaaeac049a37cfa82aefad75d877de14d;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=55200e4fdf11e933183528754729fb284181187c;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/drivers/scsi/scsi_proc.c b/drivers/scsi/scsi_proc.c index 55200e4fd..07be62bba 100644 --- a/drivers/scsi/scsi_proc.c +++ b/drivers/scsi/scsi_proc.c @@ -266,6 +266,8 @@ static ssize_t proc_scsi_write(struct file *file, const char __user *buf, lun = simple_strtoul(p + 1, &p, 0); err = scsi_add_single_device(host, channel, id, lun); + if (err >= 0) + err = length; /* * Usage: echo "scsi remove-single-device 0 1 2 3" >/proc/scsi/scsi @@ -282,13 +284,6 @@ static ssize_t proc_scsi_write(struct file *file, const char __user *buf, err = scsi_remove_single_device(host, channel, id, lun); } - /* - * convert success returns so that we return the - * number of bytes consumed. - */ - if (!err) - err = length; - out: free_page((unsigned long)buffer); return err;