[libata] Fix oops introduced in non-uniform port handling fix
Noticed by several people. Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
c32a8fd7cb
commit
29da9f6d9c
@ -484,7 +484,7 @@ static void nv_error_handler(struct ata_port *ap)
|
||||
static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
{
|
||||
static int printed_version = 0;
|
||||
struct ata_port_info *ppi;
|
||||
struct ata_port_info *ppi[2];
|
||||
struct ata_probe_ent *probe_ent;
|
||||
int pci_dev_busy = 0;
|
||||
int rc;
|
||||
@ -520,8 +520,8 @@ static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
|
||||
rc = -ENOMEM;
|
||||
|
||||
ppi = &nv_port_info[ent->driver_data];
|
||||
probe_ent = ata_pci_init_native_mode(pdev, &ppi, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);
|
||||
ppi[0] = ppi[1] = &nv_port_info[ent->driver_data];
|
||||
probe_ent = ata_pci_init_native_mode(pdev, ppi, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);
|
||||
if (!probe_ent)
|
||||
goto err_out_regions;
|
||||
|
||||
|
@ -240,7 +240,7 @@ static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
struct ata_probe_ent *probe_ent = NULL;
|
||||
int rc;
|
||||
u32 genctl;
|
||||
struct ata_port_info *ppi;
|
||||
struct ata_port_info *ppi[2];
|
||||
int pci_dev_busy = 0;
|
||||
u8 pmr;
|
||||
u8 port2_start;
|
||||
@ -265,8 +265,8 @@ static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
if (rc)
|
||||
goto err_out_regions;
|
||||
|
||||
ppi = &sis_port_info;
|
||||
probe_ent = ata_pci_init_native_mode(pdev, &ppi, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);
|
||||
ppi[0] = ppi[1] = &sis_port_info;
|
||||
probe_ent = ata_pci_init_native_mode(pdev, ppi, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);
|
||||
if (!probe_ent) {
|
||||
rc = -ENOMEM;
|
||||
goto err_out_regions;
|
||||
|
@ -185,7 +185,7 @@ static int uli_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
{
|
||||
static int printed_version;
|
||||
struct ata_probe_ent *probe_ent;
|
||||
struct ata_port_info *ppi;
|
||||
struct ata_port_info *ppi[2];
|
||||
int rc;
|
||||
unsigned int board_idx = (unsigned int) ent->driver_data;
|
||||
int pci_dev_busy = 0;
|
||||
@ -211,8 +211,8 @@ static int uli_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
if (rc)
|
||||
goto err_out_regions;
|
||||
|
||||
ppi = &uli_port_info;
|
||||
probe_ent = ata_pci_init_native_mode(pdev, &ppi, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);
|
||||
ppi[0] = ppi[1] = &uli_port_info;
|
||||
probe_ent = ata_pci_init_native_mode(pdev, ppi, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);
|
||||
if (!probe_ent) {
|
||||
rc = -ENOMEM;
|
||||
goto err_out_regions;
|
||||
|
@ -318,9 +318,10 @@ static void vt6421_init_addrs(struct ata_probe_ent *probe_ent,
|
||||
static struct ata_probe_ent *vt6420_init_probe_ent(struct pci_dev *pdev)
|
||||
{
|
||||
struct ata_probe_ent *probe_ent;
|
||||
struct ata_port_info *ppi = &vt6420_port_info;
|
||||
|
||||
probe_ent = ata_pci_init_native_mode(pdev, &ppi, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);
|
||||
struct ata_port_info *ppi[2];
|
||||
|
||||
ppi[0] = ppi[1] = &vt6420_port_info;
|
||||
probe_ent = ata_pci_init_native_mode(pdev, ppi, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);
|
||||
if (!probe_ent)
|
||||
return NULL;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user