• Adam J. Richter's avatar
    | The following changes to ide-scsi.c are a recovery of the · 7cfdf2cc
    Adam J. Richter authored
    | 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.
    |
    7cfdf2cc
ide-scsi.c 29.2 KB