diff options
Diffstat (limited to 'drivers/scsi/sg.c')
| -rw-r--r-- | drivers/scsi/sg.c | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index ef142fd47a8..9230402c45a 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -619,7 +619,7 @@ sg_write(struct file *filp, const char __user *buf, size_t count, loff_t * ppos)  		if (strcmp(current->comm, cmd) && printk_ratelimit()) {  			printk(KERN_WARNING  			       "sg_write: data in/out %d/%d bytes for SCSI command 0x%x--" -			       "guessing data in;\n" KERN_WARNING "   " +			       "guessing data in;\n   "  			       "program %s not setting count and/or reply_len properly\n",  			       old_hdr.reply_len - (int)SZ_SG_HEADER,  			       input_size, (unsigned int) cmnd[0], @@ -1656,6 +1656,10 @@ static int sg_start_req(Sg_request *srp, unsigned char *cmd)  		md->nr_entries = req_schp->k_use_sg;  		md->offset = 0;  		md->null_mapped = hp->dxferp ? 0 : 1; +		if (dxfer_dir == SG_DXFER_TO_FROM_DEV) +			md->from_user = 1; +		else +			md->from_user = 0;  	}  	if (iov_count) {  |