isd200.c Has fatal bugs and is probably not used any more
Hi!
the driver drivers/usb/storage/isd200.c has code like:
static int isd200_action( struct us_data *us, int action,
void* pointer, int value )
...
case ACTION_READ_STATUS:
US_DEBUGP(" isd200_action(READ_STATUS)\n");
ata.generic.ActionSelect = ACTION_SELECT_0|ACTION_SELECT_2;
ata.generic.RegisterSelect =
REG_CYLINDER_LOW | REG_CYLINDER_HIGH |
REG_STATUS | REG_ERROR;
srb->sc_data_direction = DMA_FROM_DEVICE;
srb->request_buffer = pointer;
srb->request_bufflen = value;
break;...
Now what the hell is that hijacked scsi_cmnd and who said that the srb->use_sg is Zero. If this is a regular queued scsi_cmnd, this can easily crash. And at best a memory leak.
The last git recorded real change to this driver was it's insertion into git by Linus.
Is this an indication that this driver is no longer used and can be removed?
Boaz Harrosh
Quoted 25 lines · Boaz Harrosh
Hi!
the driver
drivers/usb/storage/isd200.chas code like:static int isd200_action( struct
us_data*us, int action,
void* pointer, int value )...
case ACTION_READ_STATUS: US_DEBUGP(" isd200_action(READ_STATUS)\n"); ata.generic.ActionSelect = ACTION_SELECT_0|ACTION_SELECT_2; ata.generic.RegisterSelect = REG_CYLINDER_LOW | REG_CYLINDER_HIGH | REG_STATUS | REG_ERROR; srb->sc_data_direction = DMA_FROM_DEVICE; srb->request_buffer = pointer; srb->request_bufflen = value; break;...
Now what the hell is that hijacked
scsi_cmndand who said that thesrb->use_sgis Zero. If this is a regular queuedscsi_cmnd, this can easily crash. And at best a memory leak.
Quoted 5 lines
The last git recorded real change to this driver was it's insertion into git by Linus.
Is this an indication that this driver is no longer used and can be removed?
All IBM bladecenters have the HW this driver supports. And it does mostly work. This particular frag requires USB_DEBUG enabled, correct?
Quoted 26 lines · Doug Maxey
Quoted 25 lines · Boaz Harrosh
Hi!
the driver
drivers/usb/storage/isd200.chas code like:static int isd200_action( struct
us_data*us, int action,
void* pointer, int value )...
case ACTION_READ_STATUS: US_DEBUGP(" isd200_action(READ_STATUS)\n"); ata.generic.ActionSelect = ACTION_SELECT_0|ACTION_SELECT_2; ata.generic.RegisterSelect = REG_CYLINDER_LOW | REG_CYLINDER_HIGH | REG_STATUS | REG_ERROR; srb->sc_data_direction = DMA_FROM_DEVICE; srb->request_buffer = pointer; srb->request_bufflen = value; break;...
Now what the hell is that hijacked
scsi_cmndand who said that thesrb->use_sgis Zero. If this is a regular queuedscsi_cmnd, this can easily crash. And at best a memory leak.
Quoted 9 lines
Quoted 5 lines
The last git recorded real change to this driver was it's insertion into git by Linus.
Is this an indication that this driver is no longer used and can be removed?
All IBM bladecenters have the HW this driver supports. And it does mostly work. This particular frag requires
USB_DEBUGenabled, correct?
OK Thanks, Do you know if there is an active maintainer for this driver? Else I will need someone that can test patches for me.
Boaz
Quoted 5 lines · Boaz Harrosh
The last git recorded real change to this driver was it's insertion into git by Linus.
Is this an indication that this driver is no longer used and can be removed?
It is definitely used. The driver was introduced for a line of Archos MP3 players which are still in active use. The Rockbox projects gets around 500 firmware downloads for these players every month.
(Please cc me on replies, I am not on the list.)
Signature · 5 lines
Björn - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html