Add ability to override default irq assigned by the system. This is used to debug IRQ related problems. Signed-off-by: Zhu Yi -- diff -urp ipw2200-1.0.6/ipw2200.c ipw2200-1.0.6-irq/ipw2200.c --- ipw2200-1.0.6/ipw2200.c 2005-08-10 10:29:25.000000000 +0800 +++ ipw2200-1.0.6-irq/ipw2200.c 2005-08-15 17:24:50.000000000 +0800 @@ -52,6 +52,7 @@ static int auto_create = 1; static int led = 0; static int disable = 0; static int hwcrypto = 1; +static int irq = 0; static const char ipw_modes[] = { 'a', 'b', 'g', '?' }; @@ -10714,6 +10715,11 @@ static int ipw_pci_probe(struct pci_dev ipw_sw_reset(priv, 1); + if (irq) { + printk(KERN_INFO "Override default irq from %d to %d.\n", + pdev->irq, irq); + pdev->irq = irq; + } err = request_irq(pdev->irq, ipw_isr, SA_SHIRQ, DRV_NAME, priv); if (err) { IPW_ERROR("Error allocating IRQ %d\n", pdev->irq); @@ -11004,5 +11010,8 @@ MODULE_PARM_DESC(mode, "network mode (0= module_param(hwcrypto, int, 0444); MODULE_PARM_DESC(hwcrypto, "enable hardware crypto (default on)"); +module_param(irq, int, 0444); +MODULE_PARM_DESC(irq, "override defualt irq assigned by the system"); + module_exit(ipw_exit); module_init(ipw_init);