Re: [PATCH 8/20] libata: reimplement ata_pci_init_one() using new init helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Agreed on all your comments for 6 & 7.

Jeff Garzik wrote:
Tejun Heo wrote:

Nevermind previous question about legacy resources.

It does seem like the change is split across these two patches though... so the previous patch is incorrect without this one.

Yeap, that was more of logical devision and the code isn't yet activated.

+int ata_pci_init_one(struct pci_dev *pdev, struct ata_port_info **pinfo_ar,
+             unsigned int n_ports)
+
+{
+    unsigned int mask = ATA_PORT_PRIMARY | ATA_PORT_SECONDARY;
+    unsigned int legacy_mask = 0;
+    struct ata_host *host;
+    int rc;
+
+    DPRINTK("ENTER\n");
+
+    /* legacy mode? */
+    if (!(pinfo_ar[0]->flags & ATA_FLAG_NO_LEGACY))
+        legacy_mask = ata_pci_legacy_mask(pdev);
+

NAK -- you can't do anything with the PCI device before calling pci_enable_device()

This is what we're currently doing in ata_pci_init_one(). I thought the assumption wass that any device which can act as a legacy device must have been initialized by BIOS and thus is safe to access. If not, moving this backward isn't difficult. FWIW, ata_pci_legacy_mask() only performs PCI-configuration access.

Thanks.

--
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux