[patch] net: make ndev->irq signed for error handling

Subsystems: networking drivers, networking [general], the rest

STALE4651d

7 messages, 3 authors, 2013-11-08 · open the first message on its own page

[patch] net: make ndev->irq signed for error handling

From: Dan Carpenter <hidden>
Date: 2013-11-07 07:49:09

There is a bug in cpsw_probe() where we do:

	ndev->irq = platform_get_irq(pdev, 0);
	if (ndev->irq < 0) {

The problem is that "ndev->irq" is unsigned so the error handling
doesn't work.  I have changed it to a regular int.

Signed-off-by: Dan Carpenter <redacted>
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 9da6a04..bb011f6 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1132,7 +1132,7 @@ struct net_device {
 	unsigned long		mem_end;	/* shared mem end	*/
 	unsigned long		mem_start;	/* shared mem start	*/
 	unsigned long		base_addr;	/* device I/O address	*/
-	unsigned int		irq;		/* device IRQ number	*/
+	int			irq;		/* device IRQ number	*/
 
 	/*
 	 *	Some hardware also needs these fields, but they are not

Re: [patch] net: make ndev->irq signed for error handling

From: Mugunthan V N <hidden>
Date: 2013-11-07 12:14:48

On Thursday 07 November 2013 01:18 PM, Dan Carpenter wrote:
There is a bug in cpsw_probe() where we do:

	ndev->irq = platform_get_irq(pdev, 0);
	if (ndev->irq < 0) {

The problem is that "ndev->irq" is unsigned so the error handling
doesn't work.  I have changed it to a regular int.

Signed-off-by: Dan Carpenter <redacted>
ndev->irq is never used any where in the driver, I think its better to
remove this part of code from probe. If every one is ok, I can send a
patch to remove the code.

Regards
Mugunthan V N

Re: [patch] net: make ndev->irq signed for error handling

From: Dan Carpenter <hidden>
Date: 2013-11-07 13:24:42

On Thu, Nov 07, 2013 at 05:44:38PM +0530, Mugunthan V N wrote:
On Thursday 07 November 2013 01:18 PM, Dan Carpenter wrote:
quoted
There is a bug in cpsw_probe() where we do:

	ndev->irq = platform_get_irq(pdev, 0);
	if (ndev->irq < 0) {

The problem is that "ndev->irq" is unsigned so the error handling
doesn't work.  I have changed it to a regular int.

Signed-off-by: Dan Carpenter <redacted>
ndev->irq is never used any where in the driver, I think its better to
remove this part of code from probe. If every one is ok, I can send a
patch to remove the code.
It seems like cpsw_ndo_poll_controller() uses it.

regards,
dan carpenter

Re: [patch] net: make ndev->irq signed for error handling

From: Mugunthan V N <hidden>
Date: 2013-11-07 16:33:31

On Thursday 07 November 2013 05:52 PM, Dan Carpenter wrote:
On Thu, Nov 07, 2013 at 05:44:38PM +0530, Mugunthan V N wrote:
quoted
On Thursday 07 November 2013 01:18 PM, Dan Carpenter wrote:
quoted
There is a bug in cpsw_probe() where we do:

	ndev->irq = platform_get_irq(pdev, 0);
	if (ndev->irq < 0) {

The problem is that "ndev->irq" is unsigned so the error handling
doesn't work.  I have changed it to a regular int.

Signed-off-by: Dan Carpenter <redacted>
ndev->irq is never used any where in the driver, I think its better to
remove this part of code from probe. If every one is ok, I can send a
patch to remove the code.
It seems like cpsw_ndo_poll_controller() uses it.
That can be changed to pass one of the interrupt numbers from priv as
the irq number is not used in interrupt service routine.

Regards
Mugunthan V N

Re: [patch] net: make ndev->irq signed for error handling

From: David Miller <davem@davemloft.net>
Date: 2013-11-08 00:14:00

From: Dan Carpenter <redacted>
Date: Thu, 7 Nov 2013 10:48:49 +0300
There is a bug in cpsw_probe() where we do:

	ndev->irq = platform_get_irq(pdev, 0);
	if (ndev->irq < 0) {

The problem is that "ndev->irq" is unsigned so the error handling
doesn't work.  I have changed it to a regular int.

Signed-off-by: Dan Carpenter <redacted>
Even though some simplifications have been suggested wrt. how
this irq value is obtained in the one place where it is used,
I am applying Dan's patch for now.

Re: [patch] net: make ndev->irq signed for error handling

From: Dan Carpenter <hidden>
Date: 2013-11-08 09:12:22

On Thu, Nov 07, 2013 at 10:03:19PM +0530, Mugunthan V N wrote:
On Thursday 07 November 2013 05:52 PM, Dan Carpenter wrote:
quoted
On Thu, Nov 07, 2013 at 05:44:38PM +0530, Mugunthan V N wrote:
quoted
On Thursday 07 November 2013 01:18 PM, Dan Carpenter wrote:
quoted
There is a bug in cpsw_probe() where we do:

	ndev->irq = platform_get_irq(pdev, 0);
	if (ndev->irq < 0) {

The problem is that "ndev->irq" is unsigned so the error handling
doesn't work.  I have changed it to a regular int.

Signed-off-by: Dan Carpenter <redacted>
ndev->irq is never used any where in the driver, I think its better to
remove this part of code from probe. If every one is ok, I can send a
patch to remove the code.
It seems like cpsw_ndo_poll_controller() uses it.
That can be changed to pass one of the interrupt numbers from priv as
the irq number is not used in interrupt service routine.
I don't know anything about this driver, so I'm fine with your idea.

regards,
dan carpenter

Re: [patch] net: make ndev->irq signed for error handling

From: Mugunthan V N <hidden>
Date: 2013-11-08 09:18:58

On Friday 08 November 2013 02:11 PM, Dan Carpenter wrote:
On Thu, Nov 07, 2013 at 10:03:19PM +0530, Mugunthan V N wrote:
quoted
On Thursday 07 November 2013 05:52 PM, Dan Carpenter wrote:
quoted
On Thu, Nov 07, 2013 at 05:44:38PM +0530, Mugunthan V N wrote:
quoted
On Thursday 07 November 2013 01:18 PM, Dan Carpenter wrote:
quoted
There is a bug in cpsw_probe() where we do:

	ndev->irq = platform_get_irq(pdev, 0);
	if (ndev->irq < 0) {

The problem is that "ndev->irq" is unsigned so the error handling
doesn't work.  I have changed it to a regular int.

Signed-off-by: Dan Carpenter <redacted>
ndev->irq is never used any where in the driver, I think its better to
remove this part of code from probe. If every one is ok, I can send a
patch to remove the code.
It seems like cpsw_ndo_poll_controller() uses it.
That can be changed to pass one of the interrupt numbers from priv as
the irq number is not used in interrupt service routine.
I don't know anything about this driver, so I'm fine with your idea.
Anyhow David has applied your patch, I will send a driver cleanup patch
seperately.

Regards
Mugunthan V N
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help