isdn: hisax: Fix pnp_irq's error checking
Subsystems (2)
cover isdn: hisax: Fix pnp_irq's error checking
The pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
Arvind Yadav (12):
[PATCH 01/12] isdn: hisax: Fix pnp_irq's error checking for setup_asuscom [PATCH 02/12] isdn: hisax: Fix pnp_irq's error checking for avm_pnp_setup [PATCH 03/12] isdn: hisax: Fix pnp_irq's error checking for setup_diva_isapnp [PATCH 04/12] isdn: hisax: Fix pnp_irq's error checking for setup_elsa_isapnp [PATCH 05/12] isdn: hisax: Fix pnp_irq's error checking for setup_hfcsx [PATCH 06/12] isdn: hisax: Fix pnp_irq's error checking for setup_hfcs [PATCH 07/12] isdn: hisax: Handle return value of pnp_irq and pnp_port_start [PATCH 08/12] isdn: hisax: Fix pnp_irq's error checking for setup_isurf [PATCH 09/12] isdn: hisax: Fix pnp_irq's error checking for setup_ix1micro [PATCH 10/12] isdn: hisax: Fix pnp_irq's error checking for setup_niccy [PATCH 11/12] isdn: hisax: Fix pnp_irq's error checking for setup_sedlbauer_isapnp [PATCH 12/12] isdn: hisax: Fix pnp_irq's error checking for setup_teles3
drivers/isdn/hisax/asuscom.c | 2 +- drivers/isdn/hisax/avm_pci.c | 2 +- drivers/isdn/hisax/diva.c | 2 +- drivers/isdn/hisax/elsa.c | 2 +- drivers/isdn/hisax/hfc_sx.c | 2 +- drivers/isdn/hisax/hfcscard.c | 2 +- drivers/isdn/hisax/hisax_fcpcipnp.c | 2 ++ drivers/isdn/hisax/isurf.c | 2 +- drivers/isdn/hisax/ix1_micro.c | 2 +- drivers/isdn/hisax/niccy.c | 2 +- drivers/isdn/hisax/sedlbauer.c | 2 +- drivers/isdn/hisax/teles3.c | 2 +- 12 files changed, 13 insertions(+), 11 deletions(-)
Signature · 1 line
1.9.1
PATCH 1/12 isdn: hisax: Fix pnp_irq's error checking for setup_asuscom
The pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
--- drivers/isdn/hisax/asuscom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/isdn/hisax/asuscom.c +1 -1
@@ -348,7 +348,7 @@ int setup_asuscom(struct IsdnCard *card) } card->para[1 ] =pnp_port_start (pnp_d,0 ); card->para[0 ] =pnp_irq (pnp_d,0 ); -if (!card->para[0 ] || !card->para[1 ]) { +if (card->para[0 ] ==-1 || !card->para[1 ]) {printk (KERN_ERR "AsusPnP:some resources are missing %ld/%lx\n" , card->para[0 ], card->para[1 ]);pnp_disable_dev (pnp_d);
Signature · 1 line
1.9.1
PATCH 2/12 isdn: hisax: Fix pnp_irq's error checking for avm_pnp_setup
In reply to Arvind YadavThe pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
--- drivers/isdn/hisax/avm_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/isdn/hisax/avm_pci.c +1 -1
@@ -805,7 +805,7 @@ static int avm_pnp_setup(struct IsdnCardState *cs) cs->hw.avm.cfg_reg =pnp_port_start (pnp_avm_d,0 ); cs->irq =pnp_irq (pnp_avm_d,0 ); -if (!cs->irq) { +if (cs->irq ==-1 ) {printk (KERN_ERR "FritzPnP:No IRQ\n" );return (0 ); }
Signature · 1 line
1.9.1
PATCH 3/12 isdn: hisax: Fix pnp_irq's error checking for setup_diva_isapnp
In reply to Arvind YadavThe pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
--- drivers/isdn/hisax/diva.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/isdn/hisax/diva.c +1 -1
@@ -1094,7 +1094,7 @@ static int setup_diva_isapnp(struct IsdnCard *card) } card->para[1 ] =pnp_port_start (pnp_d,0 ); card->para[0 ] =pnp_irq (pnp_d,0 ); -if (!card->para[0 ] || !card->para[1 ]) { +if (card->para[0 ] ==-1 || !card->para[1 ]) {printk (KERN_ERR "Diva PnP:some resources are missing %ld/%lx\n" , card->para[0 ], card->para[1 ]);pnp_disable_dev (pnp_d);
Signature · 1 line
1.9.1
PATCH 4/12 isdn: hisax: Fix pnp_irq's error checking for setup_elsa_isapnp
In reply to Arvind YadavThe pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
--- drivers/isdn/hisax/elsa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/isdn/hisax/elsa.c +1 -1
@@ -945,7 +945,7 @@ static int setup_elsa_isapnp(struct IsdnCard *card) card->para[1 ] =pnp_port_start (pnp_d,0 ); card->para[0 ] =pnp_irq (pnp_d,0 ); -if (!card->para[0 ] || !card->para[1 ]) { +if (card->para[0 ] ==-1 || !card->para[1 ]) {printk (KERN_ERR "Elsa PnP:some resources are missing %ld/%lx\n" , card->para[0 ], card->para[1 ]);pnp_disable_dev (pnp_d);
Signature · 1 line
1.9.1
PATCH 5/12 isdn: hisax: Fix pnp_irq's error checking for setup_hfcsx
In reply to Arvind YadavThe pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
--- drivers/isdn/hisax/hfc_sx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/isdn/hisax/hfc_sx.c +1 -1
@@ -1422,7 +1422,7 @@ int setup_hfcsx(struct IsdnCard *card) } card->para[1 ] =pnp_port_start (pnp_d,0 ); card->para[0 ] =pnp_irq (pnp_d,0 ); -if (!card->para[0 ] || !card->para[1 ]) { +if (card->para[0 ] ==-1 || !card->para[1 ]) {printk (KERN_ERR "HFC PnP:some resources are missing %ld/%lx\n" , card->para[0 ], card->para[1 ]);pnp_disable_dev (pnp_d);
Signature · 1 line
1.9.1
PATCH 6/12 isdn: hisax: Fix pnp_irq's error checking for setup_hfcs
In reply to Arvind YadavThe pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
--- drivers/isdn/hisax/hfcscard.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/isdn/hisax/hfcscard.c +1 -1
@@ -195,7 +195,7 @@ int setup_hfcs(struct IsdnCard *card) } card->para[1 ] =pnp_port_start (pnp_d,0 ); card->para[0 ] =pnp_irq (pnp_d,0 ); -if (!card->para[0 ] || !card->para[1 ]) { +if (card->para[0 ] ==-1 || !card->para[1 ]) {printk (KERN_ERR "HFC PnP:some resources are missing %ld/%lx\n" , card->para[0 ], card->para[1 ]);pnp_disable_dev (pnp_d);
Signature · 1 line
1.9.1
PATCH 7/12 isdn: hisax: Handle return value of pnp_irq and pnp_port_start
In reply to Arvind Yadavpnp_irq() and pnp_port_start() can fail here and we must check its return value.
--- drivers/isdn/hisax/hisax_fcpcipnp.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/isdn/hisax/hisax_fcpcipnp.c +2 -0
@@ -940,6 +940,8 @@ static int fcpnp_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id) } adapter->io =pnp_port_start (pdev,0 ); adapter->irq =pnp_irq (pdev,0 ); +if (!adapter->io || adapter->irq ==-1 ) + goto err_free;printk (KERN_INFO "hisax_fcpcipnp: found adapter %s at IO %#x irq %d\n" , (char *) dev_id->driver_data, adapter->io, adapter->irq);
Signature · 1 line
1.9.1
PATCH 8/12 isdn: hisax: Fix pnp_irq's error checking for setup_isurf
In reply to Arvind YadavThe pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
--- drivers/isdn/hisax/isurf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/isdn/hisax/isurf.c +1 -1
@@ -238,7 +238,7 @@ int setup_isurf(struct IsdnCard *card) cs->hw.isurf.reset =pnp_port_start (pnp_d,0 ); cs->hw.isurf.phymem =pnp_mem_start (pnp_d,1 ); cs->irq =pnp_irq (pnp_d,0 ); -if (!cs->irq || !cs->hw.isurf.reset || !cs->hw.isurf.phymem) { +if (cs->irq ==-1 || !cs->hw.isurf.reset || !cs->hw.isurf.phymem) {printk (KERN_ERR "ISurfPnP:some resources are missing %d/%x/%lx\n" , cs->irq, cs->hw.isurf.reset, cs->hw.isurf.phymem);pnp_disable_dev (pnp_d);
Signature · 1 line
1.9.1
PATCH 9/12 isdn: hisax: Fix pnp_irq's error checking for setup_ix1micro
In reply to Arvind YadavThe pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
--- drivers/isdn/hisax/ix1_micro.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/isdn/hisax/ix1_micro.c +1 -1
@@ -256,7 +256,7 @@ int setup_ix1micro(struct IsdnCard *card) } card->para[1 ] =pnp_port_start (pnp_d,0 ); card->para[0 ] =pnp_irq (pnp_d,0 ); -if (!card->para[0 ] || !card->para[1 ]) { +if (card->para[0 ] ==-1 || !card->para[1 ]) {printk (KERN_ERR "ITK PnP:some resources are missing %ld/%lx\n" , card->para[0 ], card->para[1 ]);pnp_disable_dev (pnp_d);
Signature · 1 line
1.9.1
PATCH 10/12 isdn: hisax: Fix pnp_irq's error checking for setup_niccy
In reply to Arvind YadavThe pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
--- drivers/isdn/hisax/niccy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/isdn/hisax/niccy.c +1 -1
@@ -261,7 +261,7 @@ int setup_niccy(struct IsdnCard *card) card->para[1 ] =pnp_port_start (pnp_d,0 ); card->para[2 ] =pnp_port_start (pnp_d,1 ); card->para[0 ] =pnp_irq (pnp_d,0 ); -if (!card->para[0 ] || !card->para[1 ] || +if (card->para[0 ] ==-1 || !card->para[1 ] || !card->para[2 ]) { printk(KERN_ERR "NiccyPnP:some resources are " "missing %ld/%lx/%lx\n",
Signature · 1 line
1.9.1
PATCH 11/12 isdn: hisax: Fix pnp_irq's error checking for setup_sedlbauer_isapnp
In reply to Arvind YadavThe pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
--- drivers/isdn/hisax/sedlbauer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/isdn/hisax/sedlbauer.c +1 -1
@@ -558,7 +558,7 @@ static int setup_sedlbauer_isapnp(struct IsdnCard *card, int *bytecnt) card->para[1 ] =pnp_port_start (pnp_d,0 ); card->para[0 ] =pnp_irq (pnp_d,0 ); -if (!card->para[0 ] || !card->para[1 ]) { +if (card->para[0 ] ==-1 || !card->para[1 ]) {printk (KERN_ERR "Sedlbauer PnP:some resources are missing %ld/%lx\n" , card->para[0 ], card->para[1 ]);pnp_disable_dev (pnp_d);
Signature · 1 line
1.9.1
PATCH 12/12 isdn: hisax: Fix pnp_irq's error checking for setup_teles3
In reply to Arvind YadavThe pnp_irq() function returns -1 if an error occurs. pnp_irq() error checking for zero is not correct.
--- drivers/isdn/hisax/teles3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/isdn/hisax/teles3.c +1 -1
@@ -306,7 +306,7 @@ int setup_teles3(struct IsdnCard *card) card->para[2 ] =pnp_port_start (pnp_d,1 ); card->para[1 ] =pnp_port_start (pnp_d,0 ); card->para[0 ] =pnp_irq (pnp_d,0 ); -if (!card->para[0 ] || !card->para[1 ] || !card->para[2 ]) { +if (card->para[0 ] ==-1 || !card->para[1 ] || !card->para[2 ]) {printk (KERN_ERR "Teles PnP:some resources are missing %ld/%lx/%lx\n" , card->para[0 ], card->para[1 ], card->para[2 ]);pnp_disable_dev (pnp_d);
Signature · 1 line
1.9.1
David Miller
maintainerFrom: Arvind Yadav <[email protected]>
Date: Thu, 16 Nov 2017 09:57:17 +0530
Quoted 2 lines
The
pnp_irq()function returns -1 if an error occurs.pnp_irq()error checking for zero is not correct.
I can't say I like all of the mixing of "-1", and unsigned integer values (pnp_irq() returns resource_size_t, the IsdnCard->para[] arran entries are "unsigned long") but what can I do.
Series applied, thanks.