diff options
author | Oliver Schinagl <oliver@schinagl.nl> | 2011-03-15 12:33:20 (GMT) |
---|---|---|
committer | Oliver Schinagl <oliver@schinagl.nl> | 2011-03-15 12:33:20 (GMT) |
commit | d66024a03c43952bc230fa9d0133f545d9caab00 (patch) | |
tree | f9994677e8f7ab051d014ce97c695a163cb6af45 /uClinux-2.4.20-uc1/drivers/scsi/scsi_obsolete.c | |
parent | 6dcf0627548ed55ae7819bf1bab446ee87ffc8bc (diff) | |
download | openipcam-d66024a03c43952bc230fa9d0133f545d9caab00.zip openipcam-d66024a03c43952bc230fa9d0133f545d9caab00.tar.gz openipcam-d66024a03c43952bc230fa9d0133f545d9caab00.tar.bz2 |
W90N745 scsi changes
Diffstat (limited to 'uClinux-2.4.20-uc1/drivers/scsi/scsi_obsolete.c')
-rw-r--r-- | uClinux-2.4.20-uc1/drivers/scsi/scsi_obsolete.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/uClinux-2.4.20-uc1/drivers/scsi/scsi_obsolete.c b/uClinux-2.4.20-uc1/drivers/scsi/scsi_obsolete.c index 488bb26..9c4361e 100644 --- a/uClinux-2.4.20-uc1/drivers/scsi/scsi_obsolete.c +++ b/uClinux-2.4.20-uc1/drivers/scsi/scsi_obsolete.c @@ -220,12 +220,21 @@ static void scsi_request_sense(Scsi_Cmnd * SCpnt) memcpy((void *) SCpnt->cmnd, (void *) generic_sense, sizeof(generic_sense)); +#ifndef CONFIG_BOARD_W90N745 + memcpy((void *)((unsigned char *)((unsigned long)SCpnt->cmnd | 0x80000000)), + (void *) generic_sense, + sizeof(generic_sense)); +#endif memset((void *) SCpnt->sense_buffer, 0, sizeof(SCpnt->sense_buffer)); if (SCpnt->device->scsi_level <= SCSI_2) SCpnt->cmnd[1] = SCpnt->lun << 5; SCpnt->cmnd[4] = sizeof(SCpnt->sense_buffer); +#ifdef CONFIG_BOARD_W90N745 + ((unsigned char *)((unsigned long)SCpnt->cmnd | 0x80000000))[1] = SCpnt->lun << 5; + ((unsigned char *)((unsigned long)SCpnt->cmnd | 0x80000000))[4] = sizeof(SCpnt->sense_buffer); +#endif SCpnt->request_buffer = &SCpnt->sense_buffer; SCpnt->request_bufflen = sizeof(SCpnt->sense_buffer); @@ -647,6 +656,11 @@ void scsi_old_done(Scsi_Cmnd * SCpnt) memcpy((void *) SCpnt->cmnd, (void *) SCpnt->data_cmnd, sizeof(SCpnt->data_cmnd)); +#ifdef CONFIG_BOARD_W90N745 + memcpy((void *)((unsigned char *)((unsigned long)SCpnt->cmnd|0x80000000)), + (void *) SCpnt->data_cmnd, + sizeof(SCpnt->data_cmnd)); +#endif memset((void *) SCpnt->sense_buffer, 0, sizeof(SCpnt->sense_buffer)); SCpnt->request_buffer = SCpnt->buffer; |