summaryrefslogtreecommitdiffstats
path: root/drivers/net/igb
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-29 17:29:55 +0100
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-29 17:29:55 +0100
commit219ff3ad611ecfe8a2fd29b8c50a5313c9d15383 (patch)
tree69a9ad12ed64d0966ec63bb5c4699e3effb5490f /drivers/net/igb
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 (diff)
parent[X25]: Use proc_create() to setup ->proc_fops first (diff)
downloadlinux-219ff3ad611ecfe8a2fd29b8c50a5313c9d15383.tar.xz
linux-219ff3ad611ecfe8a2fd29b8c50a5313c9d15383.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (79 commits) [X25]: Use proc_create() to setup ->proc_fops first [WANROUTER]: Use proc_create() to setup ->proc_fops first [8021Q]: Use proc_create() to setup ->proc_fops first [IPV4]: Use proc_create() to setup ->proc_fops first [IPV6]: Use proc_create() to setup ->proc_fops first [SCTP]: Use proc_create() to setup ->proc_fops first [PKTGEN]: Use proc_create() to setup ->proc_fops first [NEIGHBOUR]: Use proc_create() to setup ->proc_fops first [LLC]: Use proc_create() to setup ->proc_fops first [IPX]: Use proc_create() to setup ->proc_fops first [SUNRPC]: Use proc_create() to setup ->proc_fops first [ATM]: Use proc_create() to setup ->proc_fops first [SCTP]: Update AUTH structures to match declarations in draft-16. [SCTP]: Incorrect length was used in SCTP_*_AUTH_CHUNKS socket option [SCTP]: Clean up naming conventions of sctp protocol/address family registration [APPLETALK]: Use proc_create() to setup ->proc_fops first [BNX2X]: add bnx2x to MAINTAINERS [BNX2X]: update version, remove CVS strings [BNX2X]: Fix Xmit bugs [BNX2X]: Prevent PCI queue overflow ...
Diffstat (limited to 'drivers/net/igb')
-rw-r--r--drivers/net/igb/igb_main.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index bff280eff5e3..6a1f23092099 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -439,7 +439,7 @@ static int igb_request_irq(struct igb_adapter *adapter)
err = igb_request_msix(adapter);
if (!err) {
/* enable IAM, auto-mask,
- * DO NOT USE EIAME or IAME in legacy mode */
+ * DO NOT USE EIAM or IAM in legacy mode */
wr32(E1000_IAM, IMS_ENABLE_MASK);
goto request_done;
}
@@ -465,14 +465,9 @@ static int igb_request_irq(struct igb_adapter *adapter)
err = request_irq(adapter->pdev->irq, &igb_intr, IRQF_SHARED,
netdev->name, netdev);
- if (err) {
+ if (err)
dev_err(&adapter->pdev->dev, "Error %d getting interrupt\n",
err);
- goto request_done;
- }
-
- /* enable IAM, auto-mask */
- wr32(E1000_IAM, IMS_ENABLE_MASK);
request_done:
return err;
@@ -821,7 +816,8 @@ void igb_reset(struct igb_adapter *adapter)
wr32(E1000_VET, ETHERNET_IEEE_VLAN_TYPE);
igb_reset_adaptive(&adapter->hw);
- adapter->hw.phy.ops.get_phy_info(&adapter->hw);
+ if (adapter->hw.phy.ops.get_phy_info)
+ adapter->hw.phy.ops.get_phy_info(&adapter->hw);
}
/**
@@ -2057,7 +2053,8 @@ static void igb_set_multi(struct net_device *netdev)
static void igb_update_phy_info(unsigned long data)
{
struct igb_adapter *adapter = (struct igb_adapter *) data;
- adapter->hw.phy.ops.get_phy_info(&adapter->hw);
+ if (adapter->hw.phy.ops.get_phy_info)
+ adapter->hw.phy.ops.get_phy_info(&adapter->hw);
}
/**