X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fscsi%2FcpqfcTSinit.c;h=5674ada6d5c249ca58fb1d39ffba9355171d1b18;hb=f7f1b0f1e2fbadeab12d24236000e778aa9b1ead;hp=80af7b5a5a36081a06b5238d621e81df09c19f2e;hpb=e3f6fb6212a7102bdb56ba38fa1e98fe72950475;p=linux-2.6.git diff --git a/drivers/scsi/cpqfcTSinit.c b/drivers/scsi/cpqfcTSinit.c index 80af7b5a5..5674ada6d 100644 --- a/drivers/scsi/cpqfcTSinit.c +++ b/drivers/scsi/cpqfcTSinit.c @@ -642,12 +642,12 @@ int cpqfcTS_ioctl( struct scsi_device *ScsiDev, int Cmnd, void *arg) return( -EFAULT); } } - ScsiPassThruReq->sr_data_direction = SCSI_DATA_WRITE; + ScsiPassThruReq->sr_data_direction = DMA_TO_DEVICE; } else if (vendor_cmd->rw_flag == VENDOR_READ_OPCODE) { - ScsiPassThruReq->sr_data_direction = SCSI_DATA_READ; + ScsiPassThruReq->sr_data_direction = DMA_FROM_DEVICE; } else // maybe this means a bug in the user app - ScsiPassThruReq->sr_data_direction = SCSI_DATA_NONE; + ScsiPassThruReq->sr_data_direction = DMA_BIDIRECTIONAL; ScsiPassThruReq->sr_cmd_len = 0; // set correctly by scsi_do_req() ScsiPassThruReq->sr_sense_buffer[0] = 0; @@ -752,7 +752,7 @@ int cpqfcTS_ioctl( struct scsi_device *ScsiDev, int Cmnd, void *arg) result = -ENXIO; break; } - result = verify_area(VERIFY_WRITE, arg, sizeof(Scsi_FCTargAddress)); + result = access_ok(VERIFY_WRITE, arg, sizeof(Scsi_FCTargAddress)) ? 0 : -EFAULT; if (result) break; put_user(pLoggedInPort->port_id,