[SCSI] fdomain: convert to use the data buffer accessors
- remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
9482ef855e
commit
e1eaf46009
|
@ -1345,16 +1345,15 @@ static irqreturn_t do_fdomain_16x0_intr(int irq, void *dev_id)
|
||||||
|
|
||||||
#if ERRORS_ONLY
|
#if ERRORS_ONLY
|
||||||
if (current_SC->cmnd[0] == REQUEST_SENSE && !current_SC->SCp.Status) {
|
if (current_SC->cmnd[0] == REQUEST_SENSE && !current_SC->SCp.Status) {
|
||||||
if ((unsigned char)(*((char *)current_SC->request_buffer+2)) & 0x0f) {
|
char *buf = scsi_sglist(current_SC);
|
||||||
|
if ((unsigned char)(*(buf + 2)) & 0x0f) {
|
||||||
unsigned char key;
|
unsigned char key;
|
||||||
unsigned char code;
|
unsigned char code;
|
||||||
unsigned char qualifier;
|
unsigned char qualifier;
|
||||||
|
|
||||||
key = (unsigned char)(*((char *)current_SC->request_buffer + 2))
|
key = (unsigned char)(*(buf + 2)) & 0x0f;
|
||||||
& 0x0f;
|
code = (unsigned char)(*(buf + 12));
|
||||||
code = (unsigned char)(*((char *)current_SC->request_buffer + 12));
|
qualifier = (unsigned char)(*(buf + 13));
|
||||||
qualifier = (unsigned char)(*((char *)current_SC->request_buffer
|
|
||||||
+ 13));
|
|
||||||
|
|
||||||
if (key != UNIT_ATTENTION
|
if (key != UNIT_ATTENTION
|
||||||
&& !(key == NOT_READY
|
&& !(key == NOT_READY
|
||||||
|
@ -1405,8 +1404,8 @@ static int fdomain_16x0_queue(struct scsi_cmnd *SCpnt,
|
||||||
printk( "queue: target = %d cmnd = 0x%02x pieces = %d size = %u\n",
|
printk( "queue: target = %d cmnd = 0x%02x pieces = %d size = %u\n",
|
||||||
SCpnt->target,
|
SCpnt->target,
|
||||||
*(unsigned char *)SCpnt->cmnd,
|
*(unsigned char *)SCpnt->cmnd,
|
||||||
SCpnt->use_sg,
|
scsi_sg_count(SCpnt),
|
||||||
SCpnt->request_bufflen );
|
scsi_bufflen(SCpnt));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
fdomain_make_bus_idle();
|
fdomain_make_bus_idle();
|
||||||
|
@ -1416,20 +1415,19 @@ static int fdomain_16x0_queue(struct scsi_cmnd *SCpnt,
|
||||||
|
|
||||||
/* Initialize static data */
|
/* Initialize static data */
|
||||||
|
|
||||||
if (current_SC->use_sg) {
|
if (scsi_sg_count(current_SC)) {
|
||||||
current_SC->SCp.buffer =
|
current_SC->SCp.buffer = scsi_sglist(current_SC);
|
||||||
(struct scatterlist *)current_SC->request_buffer;
|
current_SC->SCp.ptr = page_address(current_SC->SCp.buffer->page)
|
||||||
current_SC->SCp.ptr = page_address(current_SC->SCp.buffer->page) + current_SC->SCp.buffer->offset;
|
+ current_SC->SCp.buffer->offset;
|
||||||
current_SC->SCp.this_residual = current_SC->SCp.buffer->length;
|
current_SC->SCp.this_residual = current_SC->SCp.buffer->length;
|
||||||
current_SC->SCp.buffers_residual = current_SC->use_sg - 1;
|
current_SC->SCp.buffers_residual = scsi_sg_count(current_SC) - 1;
|
||||||
} else {
|
} else {
|
||||||
current_SC->SCp.ptr = (char *)current_SC->request_buffer;
|
current_SC->SCp.ptr = 0;
|
||||||
current_SC->SCp.this_residual = current_SC->request_bufflen;
|
current_SC->SCp.this_residual = 0;
|
||||||
current_SC->SCp.buffer = NULL;
|
current_SC->SCp.buffer = NULL;
|
||||||
current_SC->SCp.buffers_residual = 0;
|
current_SC->SCp.buffers_residual = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
current_SC->SCp.Status = 0;
|
current_SC->SCp.Status = 0;
|
||||||
current_SC->SCp.Message = 0;
|
current_SC->SCp.Message = 0;
|
||||||
current_SC->SCp.have_data_in = 0;
|
current_SC->SCp.have_data_in = 0;
|
||||||
|
@ -1472,8 +1470,8 @@ static void print_info(struct scsi_cmnd *SCpnt)
|
||||||
SCpnt->SCp.phase,
|
SCpnt->SCp.phase,
|
||||||
SCpnt->device->id,
|
SCpnt->device->id,
|
||||||
*(unsigned char *)SCpnt->cmnd,
|
*(unsigned char *)SCpnt->cmnd,
|
||||||
SCpnt->use_sg,
|
scsi_sg_count(SCpnt),
|
||||||
SCpnt->request_bufflen );
|
scsi_bufflen(SCpnt));
|
||||||
printk( "sent_command = %d, have_data_in = %d, timeout = %d\n",
|
printk( "sent_command = %d, have_data_in = %d, timeout = %d\n",
|
||||||
SCpnt->SCp.sent_command,
|
SCpnt->SCp.sent_command,
|
||||||
SCpnt->SCp.have_data_in,
|
SCpnt->SCp.have_data_in,
|
||||||
|
|
Loading…
Reference in New Issue