1. 23 7月, 2008 2 次提交
    • A
      netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328 · c8f15686
      Anton Vorontsov 提交于
      The drivers were touching net queue before it has been started, so
      without this patch, the drivers will potentially WARN at
      net/core/dev.c:1328.
      
      I don't have the hardware for the drivers below, so this patch is
      untested, and thus should be carefully peer reviewed.
      
      tc35815.c
      au1000_eth.c
      bfin_mac.c
      macb.c
      ^ The four drivers are using phylib, they're calling netif_start_queue()
      in open() callback. So trivially remove netif_tx_schedule_all().
      Phylib will handle netif_carrier_*().
      
      cpmac.c
      fec_mpc52xx.c
      fs_enet/fs_enet-main.c
      sh_eth.c
      ^ The same as above, but these were also needlessly calling
      netif_carrier_*() functions. So removed queue calls and also remove
      carrier calls, since phylib will handle it. fs_enet-main.c also didn't
      call netif_start_queue() at open(), this is fixed now.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c8f15686
    • D
      netdev: Handle ->addr_list_lock just like ->_xmit_lock for lockdep. · cf508b12
      David S. Miller 提交于
      The new address list lock needs to handle the same device layering
      issues that the _xmit_lock one does.
      
      This integrates work done by Patrick McHardy.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cf508b12
  2. 22 7月, 2008 2 次提交
    • I
      mac80211_hwsim.c: fix: BUG: unable to handle kernel NULL pointer dereference at 0000000000000370 · 3a33cc10
      Ian Schram 提交于
      I was looking at this out of interest, but I'm in no way familiar with
      the code.
      
      Looks to me that the error handling code in mac80211_hwsim is awkward.
      Which leads to it calling ieee80211_unregister_hw even when
      ieee80211_register_hw failed.
      
      The function has a for loop where it generates all simulated radios.
      when something fails, the error handling will call mac80211_hwsim_free
      which frees all simulated radios who's pointer isn't zero. However the
      information stored is insufficient to determine whether or not the call
      to ieee80211_register_hw succeeded or not for a specific radio. The
      included patch makes init_mac80211_hwsim clean up the current simulated
      radio, and then calls into mac80211_hwsim_free to clean up all the
      radios that did succeed.
      
      This however doesn't explain why the rate control registration failed..
      build tested this, but had some problems reproducing the original
      problem.
      Signed-off-by: NIan Schram <ischram@telenet.be>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3a33cc10
    • M
      hdlcdrv: Fix CRC calculation. · ae6134bd
      Micah Dowty 提交于
      This is a trivial patch against the hdlcdrv module that fixes its CRC
      calculation. The finished CRC was overwriting the first two bytes of
      each packet rather than being appended to the end.
      
      I've tested this with 2.6.8 and 2.6.10-rc1, but hdlcdrv hasn't changed
      much recently so it should work with many other kernel versions.
      Signed-off-by: NMicah Dowty <micah@navi.cx>
      Acked-by: NThomas Sailer <t.sailer@alumni.ethz.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ae6134bd
  3. 21 7月, 2008 36 次提交