Skip to content

Commit

Permalink
liquidio: chip reset changes
Browse files Browse the repository at this point in the history
This patch resolves the order of chip reset while destroying
the resources by postoponing soft reset in destroy resources
function until all queues are removed properly.

Signed-off-by: Derek Chickles <[email protected]>
Signed-off-by: Satanand Burla <[email protected]>
Signed-off-by: Felix Manlunas <[email protected]>
Signed-off-by: Raghu Vatsavayi <[email protected]>
Signed-off-by: Raghu Vatsavayi <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
Raghu Vatsavayi authored and davem330 committed Jun 25, 2016
1 parent 6044188 commit 60b48c5
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions drivers/net/ethernet/cavium/liquidio/lio_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1180,12 +1180,6 @@ static void octeon_destroy_resources(struct octeon_device *oct)
if (oct->flags & LIO_FLAG_MSI_ENABLED)
pci_disable_msi(oct->pci_dev);

/* Soft reset the octeon device before exiting */
oct->fn_list.soft_reset(oct);

/* Disable the device, releasing the PCI INT */
pci_disable_device(oct->pci_dev);

/* fallthrough */
case OCT_DEV_IN_RESET:
case OCT_DEV_DROQ_INIT_DONE:
Expand Down Expand Up @@ -1232,11 +1226,18 @@ static void octeon_destroy_resources(struct octeon_device *oct)

/* fallthrough */
case OCT_DEV_PCI_MAP_DONE:

/* Soft reset the octeon device before exiting */
oct->fn_list.soft_reset(oct);

octeon_unmap_pci_barx(oct, 0);
octeon_unmap_pci_barx(oct, 1);

/* fallthrough */
case OCT_DEV_BEGIN_STATE:
/* Disable the device, releasing the PCI INT */
pci_disable_device(oct->pci_dev);

/* Nothing to be done here either */
break;
} /* end switch(oct->status) */
Expand Down

0 comments on commit 60b48c5

Please sign in to comment.