diff options
Diffstat (limited to 'drivers/scsi/ses.c')
| -rw-r--r-- | drivers/scsi/ses.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/ses.c b/drivers/scsi/ses.c index 1d7a8780e00..7f5a6a86f82 100644 --- a/drivers/scsi/ses.c +++ b/drivers/scsi/ses.c @@ -21,6 +21,7 @@  **-----------------------------------------------------------------------------  */ +#include <linux/slab.h>  #include <linux/module.h>  #include <linux/kernel.h>  #include <linux/enclosure.h> @@ -595,8 +596,6 @@ static int ses_intf_add(struct device *cdev,  		ses_dev->page10_len = len;  		buf = NULL;  	} -	kfree(hdr_buf); -  	scomp = kzalloc(sizeof(struct ses_component) * components, GFP_KERNEL);  	if (!scomp)  		goto err_free; @@ -608,6 +607,8 @@ static int ses_intf_add(struct device *cdev,  		goto err_free;  	} +	kfree(hdr_buf); +  	edev->scratch = ses_dev;  	for (i = 0; i < components; i++)  		edev->component[i].scratch = scomp + i;  |