forked from luck/tmp_suning_uos_patched
[SCSI] zfcp: fix module parameter parsing
From: Heiko Carstens <heiko.carstens@de.ibm.com> Fixes module parameter parsing for "device" parameter. The original module parameter was changed while parsing it. This corrupted the output in sysfs (/sys/module/zfcp/parameters/device). Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
1db2c9c093
commit
cd8a383ebc
@ -218,13 +218,20 @@ zfcp_in_els_dbf_event(struct zfcp_adapter *adapter, const char *text,
|
||||
* Parse "device=..." parameter string.
|
||||
*/
|
||||
static int __init
|
||||
zfcp_device_setup(char *str)
|
||||
zfcp_device_setup(char *devstr)
|
||||
{
|
||||
char *tmp;
|
||||
char *tmp, *str;
|
||||
size_t len;
|
||||
|
||||
if (!str)
|
||||
if (!devstr)
|
||||
return 0;
|
||||
|
||||
len = strlen(devstr) + 1;
|
||||
str = (char *) kmalloc(len, GFP_KERNEL);
|
||||
if (!str)
|
||||
goto err_out;
|
||||
memcpy(str, devstr, len);
|
||||
|
||||
tmp = strchr(str, ',');
|
||||
if (!tmp)
|
||||
goto err_out;
|
||||
@ -241,10 +248,12 @@ zfcp_device_setup(char *str)
|
||||
zfcp_data.init_fcp_lun = simple_strtoull(tmp, &tmp, 0);
|
||||
if (*tmp != '\0')
|
||||
goto err_out;
|
||||
kfree(str);
|
||||
return 1;
|
||||
|
||||
err_out:
|
||||
ZFCP_LOG_NORMAL("Parse error for device parameter string %s\n", str);
|
||||
kfree(str);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user