aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/cavium/liquidio/octeon_device.c
diff options
context:
space:
mode:
authorRaghu Vatsavayi <rvatsavayi@caviumnetworks.com>2016-07-03 13:56:52 -0700
committerDavid S. Miller <davem@davemloft.net>2016-07-04 16:15:31 -0700
commit1e0d30fe2143ae8db342e62be67a12479c3c2a20 (patch)
tree19b3946b3f975ac2cc80a808fc739cd146229e89 /drivers/net/ethernet/cavium/liquidio/octeon_device.c
parentliquidio: iq/oq limits (diff)
downloadlinux-dev-1e0d30fe2143ae8db342e62be67a12479c3c2a20.tar.xz
linux-dev-1e0d30fe2143ae8db342e62be67a12479c3c2a20.zip
liquidio: free resources during shutdown
This patch fixes the issue of proper freeing of queue memory resources during free device. It also has fix for correct pcie error reporting. Signed-off-by: Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by: Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by: Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by: Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--drivers/net/ethernet/cavium/liquidio/octeon_device.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/ethernet/cavium/liquidio/octeon_device.c b/drivers/net/ethernet/cavium/liquidio/octeon_device.c
index 046f0965fb26..fda93be783e2 100644
--- a/drivers/net/ethernet/cavium/liquidio/octeon_device.c
+++ b/drivers/net/ethernet/cavium/liquidio/octeon_device.c
@@ -644,16 +644,16 @@ int octeon_download_firmware(struct octeon_device *oct, const u8 *data,
void octeon_free_device_mem(struct octeon_device *oct)
{
- u32 i;
+ int i;
for (i = 0; i < MAX_OCTEON_OUTPUT_QUEUES(oct); i++) {
- /* could check mask as well */
- vfree(oct->droq[i]);
+ if (oct->io_qmask.oq & (1ULL << i))
+ vfree(oct->droq[i]);
}
for (i = 0; i < MAX_OCTEON_INSTR_QUEUES(oct); i++) {
- /* could check mask as well */
- vfree(oct->instr_queue[i]);
+ if (oct->io_qmask.iq & (1ULL << i))
+ vfree(oct->instr_queue[i]);
}
i = oct->octeon_id;