Re: [PATCH 1/1] netxen: Load firmware during probe, dma watchdog fix.
Dhananjay Phadke wrote: Jeff, You committed old patch, which I had asked to ignore for two newer patches. [PATCH 1/1] netxen: Load firmware during probe, dma watchdog fix. is wrong patch that went in, instead please commit: [PATCH 1/2] netxen: IMEZ multiport card 2nd port issue, dma watchdog fix [PATCH 2/2] netxen: Fix interrupt handling for multiport adapters Two responses: 1) I never received the two patches you mention. It helps (though not required) to CC me, in addition to sending patches to netdev. 2) Kernel history is fixed in stone, once committed upstream. Thus, you must regenerate your patches based on the fact that old-patch is now upstream. Jeff - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/1] netxen: Load firmware during probe, dma watchdog fix.
[EMAIL PROTECTED] wrote: The firmware should be loaded after resetting hardware during PCI probe, besides module unload. This fixes issue with 2nd port of multiport adapter on powerpc blades. This patch also fixes a bug that PCI resources are not freed if dma watchdog shutdown failed. The dma watchdog poll messages during module unload are also suppressed. Signed-off-by: Dhananjay Phadke [EMAIL PROTECTED] Signed-off-by: Milan Bag [EMAIL PROTECTED] Signed-off-by: Wen Xiong [EMAIL PROTECTED] applied - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/1] netxen: Load firmware during probe, dma watchdog fix.
Jeff, You committed old patch, which I had asked to ignore for two newer patches. [PATCH 1/1] netxen: Load firmware during probe, dma watchdog fix. is wrong patch that went in, instead please commit: [PATCH 1/2] netxen: IMEZ multiport card 2nd port issue, dma watchdog fix [PATCH 2/2] netxen: Fix interrupt handling for multiport adapters Thanks, Dhananjay On 7/25/07, Jeff Garzik [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] wrote: The firmware should be loaded after resetting hardware during PCI probe, besides module unload. This fixes issue with 2nd port of multiport adapter on powerpc blades. This patch also fixes a bug that PCI resources are not freed if dma watchdog shutdown failed. The dma watchdog poll messages during module unload are also suppressed. Signed-off-by: Dhananjay Phadke [EMAIL PROTECTED] Signed-off-by: Milan Bag [EMAIL PROTECTED] Signed-off-by: Wen Xiong [EMAIL PROTECTED] applied - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/1] netxen: Load firmware during probe, dma watchdog fix.
Please ignore this patch. There's one more patch in the series. I will send them together. Thanks, -Dhananjay - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/1] netxen: Load firmware during probe, dma watchdog fix.
The firmware should be loaded after resetting hardware during PCI probe, besides module unload. This fixes issue with 2nd port of multiport adapter on powerpc blades. This patch also fixes a bug that PCI resources are not freed if dma watchdog shutdown failed. The dma watchdog poll messages during module unload are also suppressed. Signed-off-by: Dhananjay Phadke [EMAIL PROTECTED] Signed-off-by: Milan Bag [EMAIL PROTECTED] Signed-off-by: Wen Xiong [EMAIL PROTECTED] Index: netdev-2.6/drivers/net/netxen/netxen_nic_main.c === --- netdev-2.6.orig/drivers/net/netxen/netxen_nic_main.c +++ netdev-2.6/drivers/net/netxen/netxen_nic_main.c @@ -46,7 +46,7 @@ MODULE_DESCRIPTION(NetXen Multi port (1 MODULE_LICENSE(GPL); MODULE_VERSION(NETXEN_NIC_LINUX_VERSIONID); -char netxen_nic_driver_name[] = netxen-nic; +char netxen_nic_driver_name[] = netxen_nic; static char netxen_nic_driver_string[] = NetXen Network Driver version NETXEN_NIC_LINUX_VERSIONID; @@ -643,6 +643,10 @@ netxen_nic_probe(struct pci_dev *pdev, c NETXEN_CRB_NORMALIZE(adapter, NETXEN_ROMUSB_GLB_PEGTUNE_DONE)); /* Handshake with the card before we register the devices. */ + writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE)); + netxen_pinit_from_rom(adapter, 0); + msleep(1); + netxen_load_firmware(adapter); netxen_phantom_init(adapter, NETXEN_NIC_PEG_TUNE); } @@ -785,19 +789,18 @@ static void __devexit netxen_nic_remove( if (adapter-portnum == 0) { if (init_firmware_done) { - dma_watchdog_shutdown_request(adapter); - msleep(100); i = 100; - while ((dma_watchdog_shutdown_poll_result(adapter) != 1) i) { - printk(KERN_INFO dma_watchdog_shutdown_poll still in progress\n); + do { + if (dma_watchdog_shutdown_request(adapter) == 1) + break; msleep(100); - i--; - } - - if (i == 0) { - printk(KERN_ERR dma_watchdog_shutdown_request failed\n); - return; - } + if (dma_watchdog_shutdown_poll_result(adapter) == 1) + break; + } while (--i); + + if (i == 0) + printk(KERN_ERR %s: dma_watchdog_shutdown failed\n, + netdev-name); /* clear the register for future unloads/loads */ writel(0, NETXEN_CRB_NORMALIZE(adapter, NETXEN_CAM_RAM(0x1fc))); @@ -806,11 +809,9 @@ static void __devexit netxen_nic_remove( /* leave the hw in the same state as reboot */ writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE)); - if (netxen_pinit_from_rom(adapter, 0)) - return; + netxen_pinit_from_rom(adapter, 0); msleep(1); - if (netxen_load_firmware(adapter)) - return; + netxen_load_firmware(adapter); netxen_phantom_init(adapter, NETXEN_NIC_PEG_TUNE); } @@ -819,22 +820,21 @@ static void __devexit netxen_nic_remove( printk(KERN_INFO State: 0x%0x\n, readl(NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE))); - dma_watchdog_shutdown_request(adapter); - msleep(100); i = 100; - while ((dma_watchdog_shutdown_poll_result(adapter) != 1) i) { - printk(KERN_INFO dma_watchdog_shutdown_poll still in progress\n); + do { + if (dma_watchdog_shutdown_request(adapter) == 1) + break; msleep(100); - i--; - } + if (dma_watchdog_shutdown_poll_result(adapter) == 1) + break; + } while (--i); if (i) { netxen_free_adapter_offload(adapter); } else { - printk(KERN_ERR failed to dma shutdown\n); - return; + printk(KERN_ERR %s: dma_watchdog_shutdown failed\n, + netdev-name); } - } iounmap(adapter-ahw.db_base); Index: netdev-2.6/drivers/net/netxen/netxen_nic.h