Some questions about USB, especially usb-storage.
1. The structs allocated to describe media (e.g. the PBA-LBA
translation table for a SmartMedia card) must be freed upon
media change. At present this does not happen.
How does a media change become visible?
2. The structs allocated to describe media must be freed upon
device removal. At present this does not happen.
How does a device removal become visible?
3. Presently usb-storage uses a single pointer us->extra
with corresponding destructor us->extra_destructor.
However, this does not really suffice. Multi-lun devices
need one struct per lun, and such structs must be allocated
and freed upon media change, independently of each other.
Objections against introducing a second level, so that
us->extra is a pointer to an array of length maxlun
of pairs (pointer to info struct, pointer to destructor)?
Can maxlun be very large so that the array length should
be separate from maxlun?
4. The various units of a USB device are distinguished by LUN.
Is the numbering constant (independent of kernel or history,
dependent only on the device)?
And a much more specific question:
dpcm.c has code
/*
* Set the LUN to 0 (just in case).
*/
srb->lun = 0; us->srb->lun = 0;
ret = sddr09_transport(srb, us);
srb->lun = 1; us->srb->lun = 1;
Why?
Andries
_______________________________________________________________
Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel