| The following changes to ide-scsi.c are a recovery of the
| changes that I had in ide-scsi.c in the stock kernel's before | Martin Dalecki's IDE tree was reverted and a few other changes. | | The principal change is that each ATAPI device is a Scsi_host | (which reflects reality), instead of having one fake Scsi_Host with | that appears to have all of the ATAPI devices on one bus regardless of | actual hardware topology. This way it is much easier for software to | tell that, for example, a scsi copy command will not work between two | ATAPI devices. More importantly, hot plugging should theoretically | work now, since Scsi_hosts are allocated and deallocated as ATAPI | devices are added or removed. | | This change eliminates the idescsi_drives[] array and the | ide_driver_t.id field that was used to index it. | | The idescsi_scsi_t data structure is now allocated at | the end of the struct Scsi_Host rather than being a separate | memory allocation. The calculation of various private pointers | are changed slightly as a result. | | Other minor nits include making all global routines | static and adding some missing error branches in | init_idescsi_module. | | I've verified that I can at least read raw data | from a DVD-ROM with with this change. | | When I unload this ide-scsi module, the stock ide-scsi module | or the stock ide-cd modules in 2.5.56, I get what appears to be the | same kernel bad memory reference, apparently due to some generic | device device added to drivers/ide/ide.c. It does not appear to | be due to this patch. | | The patch is a net deletion of one line. |
Showing
Please register or sign in to comment