Patchwork marvell sky2 driver: fix irq number assignment bug

login
register
mail settings
Submitter Chris Metcalf
Date April 3, 2012, 3:10 p.m.
Message ID <201204031526.q33FQvFO031746@farm-0027.internal.tilera.com>
Download mbox | patch
Permalink /patch/150465/
State Rejected
Delegated to: David Miller
Headers show

Comments

Chris Metcalf - April 3, 2012, 3:10 p.m.
Fix a minor bug that will display wrong IRQ number in ifconfig output.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
---
 drivers/net/ethernet/marvell/sky2.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
Ben Hutchings - April 3, 2012, 3:47 p.m.
On Tue, 2012-04-03 at 11:10 -0400, Chris Metcalf wrote:
> Fix a minor bug that will display wrong IRQ number in ifconfig output.
> 
> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
> ---
>  drivers/net/ethernet/marvell/sky2.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
> index 423a1a2..879b0a4 100644
> --- a/drivers/net/ethernet/marvell/sky2.c
> +++ b/drivers/net/ethernet/marvell/sky2.c
> @@ -4978,6 +4978,13 @@ static int __devinit sky2_probe(struct pci_dev *pdev,
>  			goto err_out_free_netdev;
>   	}
>  
> +	/*
> +	 * Need to set the IRQ # for the net_device here again after
> +	 * setting it in sky2_init_netdev() initially, because MSI
> +	 * will assign a new IRQ # to this PCI device.
> +	 */
> +	dev->irq = hw->pdev->irq;
> +
>  	err = register_netdev(dev);
>  	if (err) {
>  		dev_err(&pdev->dev, "cannot register net device\n");

I think the consensus now is that net_device::irq should be left at 0
for devices that don't support manual configuration (ISA and the like).

Ben.
David Miller - April 3, 2012, 9:41 p.m.
From: Ben Hutchings <bhutchings@solarflare.com>
Date: Tue, 3 Apr 2012 16:47:04 +0100

> On Tue, 2012-04-03 at 11:10 -0400, Chris Metcalf wrote:
>> Fix a minor bug that will display wrong IRQ number in ifconfig output.
>> 
>> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
>> ---
>>  drivers/net/ethernet/marvell/sky2.c |    7 +++++++
>>  1 files changed, 7 insertions(+), 0 deletions(-)
>> 
>> diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
>> index 423a1a2..879b0a4 100644
>> --- a/drivers/net/ethernet/marvell/sky2.c
>> +++ b/drivers/net/ethernet/marvell/sky2.c
>> @@ -4978,6 +4978,13 @@ static int __devinit sky2_probe(struct pci_dev *pdev,
>>  			goto err_out_free_netdev;
>>   	}
>>  
>> +	/*
>> +	 * Need to set the IRQ # for the net_device here again after
>> +	 * setting it in sky2_init_netdev() initially, because MSI
>> +	 * will assign a new IRQ # to this PCI device.
>> +	 */
>> +	dev->irq = hw->pdev->irq;
>> +
>>  	err = register_netdev(dev);
>>  	if (err) {
>>  		dev_err(&pdev->dev, "cannot register net device\n");
> 
> I think the consensus now is that net_device::irq should be left at 0
> for devices that don't support manual configuration (ISA and the like).

Agreed.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
index 423a1a2..879b0a4 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -4978,6 +4978,13 @@  static int __devinit sky2_probe(struct pci_dev *pdev,
 			goto err_out_free_netdev;
  	}
 
+	/*
+	 * Need to set the IRQ # for the net_device here again after
+	 * setting it in sky2_init_netdev() initially, because MSI
+	 * will assign a new IRQ # to this PCI device.
+	 */
+	dev->irq = hw->pdev->irq;
+
 	err = register_netdev(dev);
 	if (err) {
 		dev_err(&pdev->dev, "cannot register net device\n");