1. 29 1月, 2008 2 次提交
    • A
      ixgbe: Fix copper PHY initialization code · 3957d63d
      Auke Kok 提交于
      While cleaning up the internal API focussing on Fiber and CX4 code
      we found that I had broken the copper PHY initialization code. This
      patch restores the PHY-specific code. This is mostly uninteresting
      since no copper PHY boards are yet available. The changes have been
      tested against Fiber only as I do not even have copper PHY versions
      of 82598 macs.
      
      This change actually cleans up the API code a bit more and we
      lose some initialization code. A few PHY link detection helper
      lines of code have been snuck into this patch, as well as a
      read flush where it was suspected that this might cause issues.
      Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      3957d63d
    • J
      [netdrvr] irq handler minor cleanups in several drivers · 28fc1f5a
      Jeff Garzik 提交于
      * use irq_handler_t where appropriate
      
      * no need to use 'irq' function arg, its already stored in a data struct
      
      * rename irq handler 'irq' argument to 'dummy', where the function
        has been analyzed and proven not to use its first argument.
      
      * remove always-false "dev_id == NULL" test from irq handlers
      
      * remove pointless casts from void*
      
      * declance: irq argument is not const
      
      * add KERN_xxx printk prefix
      
      * fix minor whitespace weirdness
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      28fc1f5a
  2. 21 1月, 2008 1 次提交
    • D
      [NET]: Fix interrupt semaphore corruption in Intel drivers. · 49d85c50
      David S. Miller 提交于
      Several of the Intel ethernet drivers keep an atomic counter used to
      manage when to actually hit the hardware with a disable or an enable.
      
      The way the net_rx_work() breakout logic works during a pending
      napi_disable() is that it simply unschedules the poll even if it
      still has work.
      
      This can potentially leave interrupts disabled, but that is OK
      because all of the drivers are about to disable interrupts
      anyways in all such code paths that do a napi_disable().
      
      Unfortunately, this trips up the semaphore used here in the Intel
      drivers.  If you hit this case, when you try to bring the interface
      back up it won't enable interrupts.  A reload of the driver module
      fixes it of course.
      
      So what we do is make sure all the sequences now go:
      
      	napi_disable();
      	atomic_set(&adapter->irq_sem, 0);
      	*_irq_disable();
      
      which makes sure the counter is always in the correct state.
      
      Reported by Robert Olsson.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      49d85c50
  3. 17 1月, 2008 1 次提交
  4. 09 1月, 2008 2 次提交
  5. 31 10月, 2007 1 次提交
  6. 11 10月, 2007 2 次提交