Skip to content

Commit

Permalink
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
Browse files Browse the repository at this point in the history
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
  [SCSI] 3w-xxxx: fix oops caused by incorrect REQUEST_SENSE handling
  • Loading branch information
Linus Torvalds committed Apr 15, 2007
2 parents d791d41 + 6e3b2bb commit 2951157
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions drivers/scsi/3w-xxxx.c
Expand Up @@ -1864,10 +1864,17 @@ static int tw_scsiop_read_write(TW_Device_Extension *tw_dev, int request_id)
/* This function will handle the request sense scsi command */
static int tw_scsiop_request_sense(TW_Device_Extension *tw_dev, int request_id)
{
char request_buffer[18];

dprintk(KERN_NOTICE "3w-xxxx: tw_scsiop_request_sense()\n");

/* For now we just zero the request buffer */
memset(tw_dev->srb[request_id]->request_buffer, 0, tw_dev->srb[request_id]->request_bufflen);
memset(request_buffer, 0, sizeof(request_buffer));
request_buffer[0] = 0x70; /* Immediate fixed format */
request_buffer[7] = 10; /* minimum size per SPC: 18 bytes */
/* leave all other fields zero, giving effectively NO_SENSE return */
tw_transfer_internal(tw_dev, request_id, request_buffer,
sizeof(request_buffer));

tw_dev->state[request_id] = TW_S_COMPLETED;
tw_state_request_finish(tw_dev, request_id);

Expand Down

0 comments on commit 2951157

Please sign in to comment.