提交 8e31f1f4 编写于 作者: B Boaz Harrosh 提交者: James Bottomley

[SCSI] fd_mcs: convert to accessors and !use_sg cleanup

 - convert to accessors and !use_sg cleanup
 - Not ready for sg-chaining
Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
上级 fc3fdfcc
...@@ -1017,24 +1017,6 @@ static irqreturn_t fd_mcs_intr(int irq, void *dev_id) ...@@ -1017,24 +1017,6 @@ static irqreturn_t fd_mcs_intr(int irq, void *dev_id)
printk(" ** IN DONE %d ** ", current_SC->SCp.have_data_in); printk(" ** IN DONE %d ** ", current_SC->SCp.have_data_in);
#endif #endif
#if ERRORS_ONLY
if (current_SC->cmnd[0] == REQUEST_SENSE && !current_SC->SCp.Status) {
if ((unsigned char) (*((char *) current_SC->request_buffer + 2)) & 0x0f) {
unsigned char key;
unsigned char code;
unsigned char qualifier;
key = (unsigned char) (*((char *) current_SC->request_buffer + 2)) & 0x0f;
code = (unsigned char) (*((char *) current_SC->request_buffer + 12));
qualifier = (unsigned char) (*((char *) current_SC->request_buffer + 13));
if (key != UNIT_ATTENTION && !(key == NOT_READY && code == 0x04 && (!qualifier || qualifier == 0x02 || qualifier == 0x01))
&& !(key == ILLEGAL_REQUEST && (code == 0x25 || code == 0x24 || !code)))
printk("fd_mcs: REQUEST SENSE " "Key = %x, Code = %x, Qualifier = %x\n", key, code, qualifier);
}
}
#endif
#if EVERY_ACCESS #if EVERY_ACCESS
printk("BEFORE MY_DONE. . ."); printk("BEFORE MY_DONE. . .");
#endif #endif
...@@ -1097,7 +1079,9 @@ static int fd_mcs_queue(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *)) ...@@ -1097,7 +1079,9 @@ static int fd_mcs_queue(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *))
panic("fd_mcs: fd_mcs_queue() NOT REENTRANT!\n"); panic("fd_mcs: fd_mcs_queue() NOT REENTRANT!\n");
} }
#if EVERY_ACCESS #if EVERY_ACCESS
printk("queue: target = %d cmnd = 0x%02x pieces = %d size = %u\n", SCpnt->target, *(unsigned char *) SCpnt->cmnd, SCpnt->use_sg, SCpnt->request_bufflen); printk("queue: target = %d cmnd = 0x%02x pieces = %d size = %u\n",
SCpnt->target, *(unsigned char *) SCpnt->cmnd,
scsi_sg_count(SCpnt), scsi_bufflen(SCpnt));
#endif #endif
fd_mcs_make_bus_idle(shpnt); fd_mcs_make_bus_idle(shpnt);
...@@ -1107,14 +1091,14 @@ static int fd_mcs_queue(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *)) ...@@ -1107,14 +1091,14 @@ static int fd_mcs_queue(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *))
/* Initialize static data */ /* Initialize static data */
if (current_SC->use_sg) { if (scsi_bufflen(current_SC)) {
current_SC->SCp.buffer = (struct scatterlist *) current_SC->request_buffer; current_SC->SCp.buffer = scsi_sglist(current_SC);
current_SC->SCp.ptr = sg_virt(current_SC->SCp.buffer); current_SC->SCp.ptr = sg_virt(current_SC->SCp.buffer);
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 = NULL;
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;
} }
...@@ -1166,7 +1150,9 @@ static void fd_mcs_print_info(Scsi_Cmnd * SCpnt) ...@@ -1166,7 +1150,9 @@ static void fd_mcs_print_info(Scsi_Cmnd * SCpnt)
break; break;
} }
printk("(%d), target = %d cmnd = 0x%02x pieces = %d size = %u\n", SCpnt->SCp.phase, SCpnt->device->id, *(unsigned char *) SCpnt->cmnd, SCpnt->use_sg, SCpnt->request_bufflen); printk("(%d), target = %d cmnd = 0x%02x pieces = %d size = %u\n",
SCpnt->SCp.phase, SCpnt->device->id, *(unsigned char *) SCpnt->cmnd,
scsi_sg_count(SCpnt), scsi_bufflen(SCpnt));
printk("sent_command = %d, have_data_in = %d, timeout = %d\n", SCpnt->SCp.sent_command, SCpnt->SCp.have_data_in, SCpnt->timeout); printk("sent_command = %d, have_data_in = %d, timeout = %d\n", SCpnt->SCp.sent_command, SCpnt->SCp.have_data_in, SCpnt->timeout);
#if DEBUG_RACE #if DEBUG_RACE
printk("in_interrupt_flag = %d\n", in_interrupt_flag); printk("in_interrupt_flag = %d\n", in_interrupt_flag);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册