skge: handle irq better on single port card
authorStephen Hemminger <shemminger@vyatta.com>
Tue, 27 Sep 2011 17:41:37 +0000 (13:41 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Sep 2011 17:41:37 +0000 (13:41 -0400)
commita9e9fd7182332d0cf5f3e601df3e71dd431b70d7
treeabb7efe0ebaf78b4026bfd3117b85a9b9ef4b119
parent04b71175f340d4081680440e1b9cbffcd3f4a13c
skge: handle irq better on single port card

Most boards with SysKonnect/Marvell Ethernet have only a single port.
For the single port case, use the standard Ethernet driver convention
of allocating IRQ when device is brought up rather than at probe time.

This patch also adds some additional read after writes to avoid any
PCI posting problems when setting the IRQ mask.

The error handling of dual port cards is also changed.  If second port
can not be brought up, then just fail. No point in continuing, since
the failure is most certainly because of out of memory.

It is worth noting that the dual port skge device has a single irq but two
seperate status rings and therefore has two NAPI objects, one for
each port.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/skge.c