Sergey Vlasov wrote:
Hello!
After updating from 2.4.25-libata1 to 2.4.25-libata9 the sata_via
driver stopped working. The module loads and even seems to detect
the presense of drives, but the SCSI-emulation devices are not
registered:
[...]
Seems that the problem is caused by changes in the device
initialization - calling ata_device_add() from svia_init_one() does
not work (at least with the 2.4.x SCSI layer). The following patch
solves the initialization problem:
--- kernel-source-2.4.25/drivers/scsi/sata_via.c.sata_via-init-fix 2004-03-22 14:03:31 +0300
+++ kernel-source-2.4.25/drivers/scsi/sata_via.c 2004-03-24 16:27:50 +0300
@@ -264,9 +264,7 @@ static int svia_init_one (struct pci_dev
pci_set_master(pdev);
- /* FIXME: check ata_device_add return value */
- ata_device_add(probe_ent);
- kfree(probe_ent);
+ ata_add_to_probe_list(probe_ent);
return 0;
Ah, indeed. A bug in the 2.4 backport. Seems to be present in sata_sis too.
Thanks for spotting, I just checked in the attached patch.