aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Gordeev <agordeev@redhat.com>2014-02-18 05:11:52 -0500
committerDavid S. Miller <davem@davemloft.net>2014-02-18 15:33:32 -0500
commit61c9471e4d1931cc515872aca59d441a73d82c39 (patch)
tree93f86956ac4b464d132792af17a3fee8cdf69eb1
parent9644cdcd524265a9828dc597d8ef6f41e5bb59a0 (diff)
forcedeth: Fix invalid errno reporting in nv_request_irq()
Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Patrick McHardy <kaber@trash.net> Cc: netdev@vger.kernel.org Cc: linux-pci@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/nvidia/forcedeth.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/drivers/net/ethernet/nvidia/forcedeth.c b/drivers/net/ethernet/nvidia/forcedeth.c
index 70cf97fe67f2..f4270b844a7f 100644
--- a/drivers/net/ethernet/nvidia/forcedeth.c
+++ b/drivers/net/ethernet/nvidia/forcedeth.c
@@ -3952,8 +3952,9 @@ static int nv_request_irq(struct net_device *dev, int intr_test)
3952 if (optimization_mode == NV_OPTIMIZATION_MODE_THROUGHPUT && !intr_test) { 3952 if (optimization_mode == NV_OPTIMIZATION_MODE_THROUGHPUT && !intr_test) {
3953 /* Request irq for rx handling */ 3953 /* Request irq for rx handling */
3954 sprintf(np->name_rx, "%s-rx", dev->name); 3954 sprintf(np->name_rx, "%s-rx", dev->name);
3955 if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_RX].vector, 3955 ret = request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_RX].vector,
3956 nv_nic_irq_rx, IRQF_SHARED, np->name_rx, dev) != 0) { 3956 nv_nic_irq_rx, IRQF_SHARED, np->name_rx, dev);
3957 if (ret) {
3957 netdev_info(dev, 3958 netdev_info(dev,
3958 "request_irq failed for rx %d\n", 3959 "request_irq failed for rx %d\n",
3959 ret); 3960 ret);
@@ -3963,8 +3964,9 @@ static int nv_request_irq(struct net_device *dev, int intr_test)
3963 } 3964 }
3964 /* Request irq for tx handling */ 3965 /* Request irq for tx handling */
3965 sprintf(np->name_tx, "%s-tx", dev->name); 3966 sprintf(np->name_tx, "%s-tx", dev->name);
3966 if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_TX].vector, 3967 ret = request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_TX].vector,
3967 nv_nic_irq_tx, IRQF_SHARED, np->name_tx, dev) != 0) { 3968 nv_nic_irq_tx, IRQF_SHARED, np->name_tx, dev);
3969 if (ret) {
3968 netdev_info(dev, 3970 netdev_info(dev,
3969 "request_irq failed for tx %d\n", 3971 "request_irq failed for tx %d\n",
3970 ret); 3972 ret);
@@ -3974,8 +3976,9 @@ static int nv_request_irq(struct net_device *dev, int intr_test)
3974 } 3976 }
3975 /* Request irq for link and timer handling */ 3977 /* Request irq for link and timer handling */
3976 sprintf(np->name_other, "%s-other", dev->name); 3978 sprintf(np->name_other, "%s-other", dev->name);
3977 if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector, 3979 ret = request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector,
3978 nv_nic_irq_other, IRQF_SHARED, np->name_other, dev) != 0) { 3980 nv_nic_irq_other, IRQF_SHARED, np->name_other, dev);
3981 if (ret) {
3979 netdev_info(dev, 3982 netdev_info(dev,
3980 "request_irq failed for link %d\n", 3983 "request_irq failed for link %d\n",
3981 ret); 3984 ret);
@@ -3991,7 +3994,9 @@ static int nv_request_irq(struct net_device *dev, int intr_test)
3991 set_msix_vector_map(dev, NV_MSI_X_VECTOR_OTHER, NVREG_IRQ_OTHER); 3994 set_msix_vector_map(dev, NV_MSI_X_VECTOR_OTHER, NVREG_IRQ_OTHER);
3992 } else { 3995 } else {
3993 /* Request irq for all interrupts */ 3996 /* Request irq for all interrupts */
3994 if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_ALL].vector, handler, IRQF_SHARED, dev->name, dev) != 0) { 3997 ret = request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_ALL].vector,
3998 handler, IRQF_SHARED, dev->name, dev);
3999 if (ret) {
3995 netdev_info(dev, 4000 netdev_info(dev,
3996 "request_irq failed %d\n", 4001 "request_irq failed %d\n",
3997 ret); 4002 ret);
@@ -4011,7 +4016,8 @@ static int nv_request_irq(struct net_device *dev, int intr_test)
4011 ret = pci_enable_msi(np->pci_dev); 4016 ret = pci_enable_msi(np->pci_dev);
4012 if (ret == 0) { 4017 if (ret == 0) {
4013 np->msi_flags |= NV_MSI_ENABLED; 4018 np->msi_flags |= NV_MSI_ENABLED;
4014 if (request_irq(np->pci_dev->irq, handler, IRQF_SHARED, dev->name, dev) != 0) { 4019 ret = request_irq(np->pci_dev->irq, handler, IRQF_SHARED, dev->name, dev);
4020 if (ret) {
4015 netdev_info(dev, "request_irq failed %d\n", 4021 netdev_info(dev, "request_irq failed %d\n",
4016 ret); 4022 ret);
4017 pci_disable_msi(np->pci_dev); 4023 pci_disable_msi(np->pci_dev);