]> Pileus Git - ~andy/linux/commit
sky2: fix cleanup sequence in probe() function
authorLino Sanfilippo <LinoSanfilippo@gmx.de>
Sat, 1 Dec 2012 02:39:28 +0000 (02:39 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Dec 2012 18:52:31 +0000 (13:52 -0500)
commit1c85382e30618f66d4b15e608ff32253beb22649
treeba78c1e14a8b52f554155a8dbd6dfea14c1cf2c8
parentcb64edb6b89491edfdbae52ba7db9a8b8391d339
sky2: fix cleanup sequence in probe() function

The cleanup sequence in sky2_probe() that is called in case of an error is
mixed up in different places:

- pci_disable_device() is not called in each case the device has been enabled
before

- same for pci_disable_msi(): test_msi() may return with an error != EOPNOTSUPP
(due to failure of request_irq()). In that case msi is not disabled

- also failure of register_netdev() does not disable msi

This patch fixes the concerning parts.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/sky2.c