summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/rx.c
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2013-05-22 18:03:35 +0100
committerBen Hutchings <bhutchings@solarflare.com>2013-06-24 20:02:52 +0100
commit1899c111a535e43046b14ae13639747d9d2544d6 (patch)
tree588ba12d8ce0e35137575880b2901e11e97e9d58 /drivers/net/ethernet/sfc/rx.c
parente79255de8581fac7c77dba443d5e79bbc6e72a1f (diff)
downloadblackbird-op-linux-1899c111a535e43046b14ae13639747d9d2544d6.tar.gz
blackbird-op-linux-1899c111a535e43046b14ae13639747d9d2544d6.zip
sfc: Fix IRQ cleanup in case of a probe failure
The lifetime of an irq_cpu_rmap is odd: we have to allocate it before installing IRQ handlers and free it before removing the IRQ handlers. As a result of this asymmetry, it was omitted from some failure paths. On another failure path, we could try to remove IRQ handlers we had not yet installed. Move the irq_cpu_rmap allocation and freeing alongside IRQ handler installation and removal, in efx_nic_{init,fini}_interrupts(). Count the number of IRQ handlers successfully installed and only remove those on the failure path. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc/rx.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud