1. 26 Feb, 2003 33 commits
  2. 25 Feb, 2003 7 commits
    • Jeff Garzik's avatar
      Merge redhat.com:/garz/repo/linus-2.5 · afe1ba38
      Jeff Garzik authored
      into redhat.com:/garz/repo/net-drivers-2.5
      afe1ba38
    • Jean Tourrilhes's avatar
      [wireless] cleanup after recent shuffle · 8d7a36f3
      Jean Tourrilhes authored
              In kernel 2.5.63, you have moved more wireless LAN drivers
      into ../drivers/net/wireless/. Unfortunately, there was a bit more to
      cleanup as the result of this work.
              You will need to :
                      o Apply the attached patch
                      o rm /drivers/net/pcmcia/aironet4500_cs.c
      
              Have fun...
      
              Jean
      
      P.S. : You will notice that I took the liberty to organise the config
      option in what I hope is a more logical order.
      8d7a36f3
    • Jeff Garzik's avatar
      [netdrvr tg3] fix TX race in previous code, and another buglet · 3eda3bd6
      Jeff Garzik authored
      * call netif_tx_disable after netif_poll_disable, fixing TX race,
        in tg3_netif_stop
      * follow the ordering of the tg3_netif_stop change, and enable
        poll after waking TX, in tg3_netif_start
      * after doing those two steps in tg3_netif_start, check for work
        using new helper function tg3_cond_int
      * add helper function tg3_cond_int, which delivers an interrupt
        if and only if the status block was updated (i.e. if work
        is likely to be available)
      3eda3bd6
    • Jeff Garzik's avatar
    • Jeff Garzik's avatar
      [netdrvr tg3] bump version to 1.4c / Feb 18 · d6fbb2b0
      Jeff Garzik authored
      d6fbb2b0
    • Jeff Garzik's avatar
      [netdrvr tg3] fix NAPI deadlock · 70a8c581
      Jeff Garzik authored
      * do not hold driver spinlock during RX processing in tg3_poll
        (this is the deadlock fix)
      * create netif_poll_{en,dis}able to synchronize against dev->poll()
      * create __netif_rx_complete to avoid a third irq-save in tg3_poll
      * create tg3_netif_{start,stop} as driver-specific helper functions
        which disable and enable NAPI polling and TX queueing.  Note that
        the TX queueing enable/disable is purely advisory, and is not
        intended to prevent any races.
      * remove tg3_halt call from tg3_set_power_state, as all callers
        have already called tg3_halt, making it redundant.  Removing this
        function call also eliminates some locking complications.
      * use new helper __netif_rx_complete in tg3_poll
      * create tg3_reset_task, as a function that runs in process context
        which resets the NIC.  This is needed because tg3_netif_stop()
        calls schedule() in the process of disabling dev->poll.
      * schedule tg3_reset_task from tg3_tx_timeout
      * schedule tg3_reset_task from tg3_timer
      * wrap several tg3_halt...tg3_init_hw sequences with
        tg3_netif_stop...tg3_netif_start.  In addition to synchronizing
        with dev->poll, this additionally fixes bugs where we were not
        calling netif_wake_queue, when we should have been.
      * move netif_start_queue call to very bottom of tg3_open
      * add missing tg3_netif_{start,stop} to tg3_{suspend,resume},
        further fixing obvious bugs.
      70a8c581
    • Jeff Garzik's avatar