diff options
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/reset.c')
| -rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/reset.c | 23 | 
1 files changed, 14 insertions, 9 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/reset.c b/drivers/net/ethernet/mellanox/mlx4/reset.c index ea1c6d092145..0076d88587ca 100644 --- a/drivers/net/ethernet/mellanox/mlx4/reset.c +++ b/drivers/net/ethernet/mellanox/mlx4/reset.c @@ -76,19 +76,21 @@ int mlx4_reset(struct mlx4_dev *dev)  		goto out;  	} -	pcie_cap = pci_pcie_cap(dev->pdev); +	pcie_cap = pci_pcie_cap(dev->persist->pdev);  	for (i = 0; i < 64; ++i) {  		if (i == 22 || i == 23)  			continue; -		if (pci_read_config_dword(dev->pdev, i * 4, hca_header + i)) { +		if (pci_read_config_dword(dev->persist->pdev, i * 4, +					  hca_header + i)) {  			err = -ENODEV;  			mlx4_err(dev, "Couldn't save HCA PCI header, aborting\n");  			goto out;  		}  	} -	reset = ioremap(pci_resource_start(dev->pdev, 0) + MLX4_RESET_BASE, +	reset = ioremap(pci_resource_start(dev->persist->pdev, 0) + +			MLX4_RESET_BASE,  			MLX4_RESET_SIZE);  	if (!reset) {  		err = -ENOMEM; @@ -122,8 +124,8 @@ int mlx4_reset(struct mlx4_dev *dev)  	end = jiffies + MLX4_RESET_TIMEOUT_JIFFIES;  	do { -		if (!pci_read_config_word(dev->pdev, PCI_VENDOR_ID, &vendor) && -		    vendor != 0xffff) +		if (!pci_read_config_word(dev->persist->pdev, PCI_VENDOR_ID, +					  &vendor) && vendor != 0xffff)  			break;  		msleep(1); @@ -138,14 +140,16 @@ int mlx4_reset(struct mlx4_dev *dev)  	/* Now restore the PCI headers */  	if (pcie_cap) {  		devctl = hca_header[(pcie_cap + PCI_EXP_DEVCTL) / 4]; -		if (pcie_capability_write_word(dev->pdev, PCI_EXP_DEVCTL, +		if (pcie_capability_write_word(dev->persist->pdev, +					       PCI_EXP_DEVCTL,  					       devctl)) {  			err = -ENODEV;  			mlx4_err(dev, "Couldn't restore HCA PCI Express Device Control register, aborting\n");  			goto out;  		}  		linkctl = hca_header[(pcie_cap + PCI_EXP_LNKCTL) / 4]; -		if (pcie_capability_write_word(dev->pdev, PCI_EXP_LNKCTL, +		if (pcie_capability_write_word(dev->persist->pdev, +					       PCI_EXP_LNKCTL,  					       linkctl)) {  			err = -ENODEV;  			mlx4_err(dev, "Couldn't restore HCA PCI Express Link control register, aborting\n"); @@ -157,7 +161,8 @@ int mlx4_reset(struct mlx4_dev *dev)  		if (i * 4 == PCI_COMMAND)  			continue; -		if (pci_write_config_dword(dev->pdev, i * 4, hca_header[i])) { +		if (pci_write_config_dword(dev->persist->pdev, i * 4, +					   hca_header[i])) {  			err = -ENODEV;  			mlx4_err(dev, "Couldn't restore HCA reg %x, aborting\n",  				 i); @@ -165,7 +170,7 @@ int mlx4_reset(struct mlx4_dev *dev)  		}  	} -	if (pci_write_config_dword(dev->pdev, PCI_COMMAND, +	if (pci_write_config_dword(dev->persist->pdev, PCI_COMMAND,  				   hca_header[PCI_COMMAND / 4])) {  		err = -ENODEV;  		mlx4_err(dev, "Couldn't restore HCA COMMAND, aborting\n");  | 

