Merge branch 'upstream' of git://lost.foo-projects.org/~ahkok/git/netdev-2.6 into...
authorJeff Garzik <jeff@garzik.org>
Wed, 5 Jul 2006 18:32:39 +0000 (14:32 -0400)
committerJeff Garzik <jeff@garzik.org>
Wed, 5 Jul 2006 18:32:39 +0000 (14:32 -0400)
Conflicts:

drivers/net/e1000/e1000_main.c

1  2 
drivers/net/e1000/e1000.h
drivers/net/e1000/e1000_ethtool.c
drivers/net/e1000/e1000_main.c

Simple merge
Simple merge
@@@ -261,6 -267,44 +267,44 @@@ e1000_exit_module(void
  
  module_exit(e1000_exit_module);
  
 -      flags = SA_SHIRQ | SA_SAMPLE_RANDOM;
+ static int e1000_request_irq(struct e1000_adapter *adapter)
+ {
+       struct net_device *netdev = adapter->netdev;
+       int flags, err = 0;
++      flags = IRQF_SHARED;
+ #ifdef CONFIG_PCI_MSI
+       if (adapter->hw.mac_type > e1000_82547_rev_2) {
+               adapter->have_msi = TRUE;
+               if ((err = pci_enable_msi(adapter->pdev))) {
+                       DPRINTK(PROBE, ERR,
+                        "Unable to allocate MSI interrupt Error: %d\n", err);
+                       adapter->have_msi = FALSE;
+               }
+       }
+       if (adapter->have_msi)
+               flags &= ~SA_SHIRQ;
+ #endif
+       if ((err = request_irq(adapter->pdev->irq, &e1000_intr, flags,
+                              netdev->name, netdev)))
+               DPRINTK(PROBE, ERR,
+                       "Unable to allocate interrupt Error: %d\n", err);
+       return err;
+ }
+ static void e1000_free_irq(struct e1000_adapter *adapter)
+ {
+       struct net_device *netdev = adapter->netdev;
+       free_irq(adapter->pdev->irq, netdev);
+ #ifdef CONFIG_PCI_MSI
+       if (adapter->have_msi)
+               pci_disable_msi(adapter->pdev);
+ #endif
+ }
  /**
   * e1000_irq_disable - Mask off interrupt generation on the NIC
   * @adapter: board private structure