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:

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.


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

http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.4.25-libata12.patch.bz2


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/