diff options
| author | Ben Hutchings <bhutchings@solarflare.com> | 2013-05-22 21:03:35 +0400 |
|---|---|---|
| committer | Ben Hutchings <bhutchings@solarflare.com> | 2013-06-24 23:02:52 +0400 |
| commit | 1899c111a535e43046b14ae13639747d9d2544d6 (patch) | |
| tree | 588ba12d8ce0e35137575880b2901e11e97e9d58 /include/linux | |
| parent | e79255de8581fac7c77dba443d5e79bbc6e72a1f (diff) | |
| download | linux-1899c111a535e43046b14ae13639747d9d2544d6.tar.xz | |
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 'include/linux')
0 files changed, 0 insertions, 0 deletions
