|
@@ -3121,10 +3121,11 @@ loop:
|
|
|
return -ENOMEM;
|
|
|
*rcmd = ptr;
|
|
|
ret = copy_from_user(ptr, param, sizeof(*ptr));
|
|
|
- if (ret)
|
|
|
- return -EFAULT;
|
|
|
ptr->next = NULL;
|
|
|
ptr->buffer_length = 0;
|
|
|
+ ptr->kernel_data = NULL;
|
|
|
+ if (ret)
|
|
|
+ return -EFAULT;
|
|
|
param += sizeof(struct floppy_raw_cmd);
|
|
|
if (ptr->cmd_count > 33)
|
|
|
/* the command may now also take up the space
|
|
@@ -3140,7 +3141,6 @@ loop:
|
|
|
for (i = 0; i < 16; i++)
|
|
|
ptr->reply[i] = 0;
|
|
|
ptr->resultcode = 0;
|
|
|
- ptr->kernel_data = NULL;
|
|
|
|
|
|
if (ptr->flags & (FD_RAW_READ | FD_RAW_WRITE)) {
|
|
|
if (ptr->length <= 0)
|