Re: [BUG] sata_via broken by recent libata updates

From: Jeff Garzik
Date: Wed Mar 24 2004 - 16:22:06 EST

Jeff Garzik wrote:
Sergey Vlasov wrote:


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


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
- /* 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.

FYI, this fix is in the 2.4.x patch just posted,

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at