1. 23 7月, 2008 13 次提交
  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 10 次提交
    • D
      sunhme: Remove stop/wake TX queue calls in set-multicast-list handler. · fd24c4af
      David S. Miller 提交于
      Based upon a bug report by Alexander Beregalov and commentary
      from Ben Hutchings.
      
      These are totally unnecessary, in particular because this
      driver's ->hard_start_xmit() handler takes the same driver
      spinlock that the set-multicast-list handler uses.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fd24c4af
    • A
      ucc_geth: do not touch net queue in adjust_link phylib callback · ebbdbd7c
      Anton Vorontsov 提交于
      If the net queue has not been started, we'll get this nice oops
      and non-working ethernet:
      
      ------------[ cut here ]------------
      Kernel BUG at c01f4648 [verbose debug info unavailable]
      Oops: Exception in kernel mode, sig: 5 [#1]
      MPC836x RDK
      Modules linked in:
      NIP: c01f4648 LR: c01c0a10 CTR: c01c08e4
      REGS: cf839e40 TRAP: 0700   Not tainted  (2.6.26-05254-gc7b9969)
      MSR: 00021032 <ME,IR,DR>  CR: 22042044  XER: 00000000
      TASK = cf828c30[4] 'events/0' THREAD: cf838000
      GPR00: c01c0a10 cf839ef0 cf828c30 c035ceb0 cf8469a0 00000064 00000000 00000000
      GPR08: c035ceb0 00000001 00000001 cf99c280 22044044 7ca81020 0fffc000 00000000
      GPR16: 0fff2544 0fff63c0 00000000 0fff78e0 0ffa5580 00000004 00000000 00000000
      GPR24: 02082000 cf9d0000 d1068000 00009032 cf846800 cf846b80 00000001 00000014
      NIP [c01f4648] __netif_schedule+0x28/0x8c
      LR [c01c0a10] adjust_link+0x12c/0x1e4
      Call Trace:
      [cf839ef0] [c0380f50] 0xc0380f50 (unreliable)
      [cf839f10] [c01c0a10] adjust_link+0x12c/0x1e4
      [cf839f40] [c01c2628] phy_state_machine+0x2e0/0x448
      [cf839f60] [c00425e8] run_workqueue+0xc8/0x168
      [cf839f90] [c0042c6c] worker_thread+0x70/0xd0
      [cf839fd0] [c0046954] kthread+0x48/0x84
      [cf839ff0] [c0012488] kernel_thread+0x44/0x60
      Instruction dump:
      7c0803a6 4e800020 3d20c036 9421ffe0 7c0802a6 7c681b78 3929ceb0 7c694a78
      7d290034 90010024 bfa10014 5529d97e <0f090000> 39600002 38030024 7d200028
      ---[ end trace a57d367843bd2904 ]---
      
      Since the driver is using phylib (which is doing netif_carrier_on/off()),
      we should simply remove netif_tx_schedule_all() from adjust_link().
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ebbdbd7c
    • A
      gianfar: do not touch net queue in adjust_link phylib callback · afc07946
      Anton Vorontsov 提交于
      If the net queue has not been started, we'll get this nice oops
      and non-working ethernet:
      
      PHY: 0:01 - Link is Up - 1000/Full
      ------------[ cut here ]------------
      kernel BUG at net/core/dev.c:1328!
      Oops: Exception in kernel mode, sig: 5 [#1]
      MPC837x RDB
      Modules linked in:
      NIP: c02544a0 LR: c01a17d0 CTR: c01a16ac
      REGS: cf837e40 TRAP: 0700   Not tainted  (2.6.26-05253-g14b395e3)
      MSR: 00021032 <ME,IR,DR>  CR: 22042044  XER: 00000000
      TASK = cf819400[5] 'events/0' THREAD: cf836000
      GPR00: c01a17d0 cf837ef0 cf819400 c03d8d08 cf8469a0 00000064 00000000 00000000
      GPR08: c03d8d08 00000001 00000001 cf899ba0 22044044 00000000 0fffd000 00000000
      GPR16: 0fff3028 0fff6cf0 00000000 0fff8390 0ff494a0 00000004 00000000 00000000
      GPR24: c0361a00 00001058 cf9f6600 00009032 cf846800 cf846b80 00000001 00000014
      NIP [c02544a0] __netif_schedule+0x28/0x8c
      LR [c01a17d0] adjust_link+0x124/0x1cc
      Call Trace:
      [cf837ef0] [c03fb3a0] 0xc03fb3a0 (unreliable)
      [cf837f10] [c01a17d0] adjust_link+0x124/0x1cc
      [cf837f40] [c01a8e28] phy_state_machine+0x2e0/0x448
      [cf837f60] [c0040254] run_workqueue+0xc8/0x168
      [cf837f90] [c00408d8] worker_thread+0x70/0xd0
      [cf837fd0] [c0044630] kthread+0x48/0x84
      [cf837ff0] [c0012610] kernel_thread+0x44/0x60
      Instruction dump:
      7c0803a6 4e800020 3d20c03e 9421ffe0 7c0802a6 7c681b78 39298d08 7c694a78
      7d290034 90010024 bfa10014 5529d97e <0f090000> 39600002 38030024 7d200028
      ---[ end trace 13dfd73ee42d0c30 ]---
      
      Since the driver is using phylib (which is doing netif_carrier_on/off()),
      we should simply remove netif_tx_schedule_all() from adjust_link().
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      afc07946
    • D
      atl1: Do not wake queue before queue has been started. · 39d48157
      David S. Miller 提交于
      Based upon a bug report by Alexey Dobriyan, the patch is
      also tested by him and confirmed to fix the problem.
      
      Packet flow during link state events should not be done by
      waking and stopping the TX queue anyways, that is handled
      transparently by netif_carrier_{on,off}().
      
      So, remove the netif_{wake,stop}_queue() calls in the link
      check code, and add the necessary netif_start_queue() call
      to atl1_up().
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      39d48157
    • G
      m68k/Apollo: remove the unused APOLLO_ELPLUS option · 3fadd06e
      Geert Uytterhoeven 提交于
      Looking at older kernel sources the APOLLO_ELPLUS option was added
      somewhere during kernel 2.1, but even kernel 2.2.0 does not contain
      any driver that would be enabled through it...
      Reported-by: NRobert P. J. Day <rpjday@crashcourse.ca>
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3fadd06e
    • P
      ariadne: use netstats in net_device structure · 038eddd9
      Paulius Zaleckas 提交于
      Use net_device_stats from net_device structure instead of local.
      Signed-off-by: NPaulius Zaleckas <paulius.zaleckas@teltonika.lt>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NJeff Garzik <jgarzik@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      038eddd9
    • A
      4e4f64da
    • A
      tty: Ldisc revamp · a352def2
      Alan Cox 提交于
      Move the line disciplines towards a conventional ->ops arrangement.  For
      the moment the actual 'tty_ldisc' struct in the tty is kept as part of
      the tty struct but this can then be changed if it turns out that when it
      all settles down we want to refcount ldiscs separately to the tty.
      
      Pull the ldisc code out of /proc and put it with our ldisc code.
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a352def2
    • M
      r8169: avoid thrashing PCI conf space above RTL_GIGA_MAC_VER_06 · 77332894
      Marcus Sundberg 提交于
      The magic write to register 0x82 will often cause PCI config space on
      my 8168 (PCI ID 10ec:8168, revision 2. mounted in an LG P300 laptop)
      to be filled with ones during driver load, and thus breaking NIC
      operation until reboot. If it does not happen on first driver load it
      can easily be reproduced by unloading and loading the driver a few
      times.
      
      The magic write was added long ago by this commit:
      
      Author: François Romieu <romieu@fr.zoreil.com>
      Date:   Sat Jan 10 06:00:46 2004 -0500
      
           [netdrvr r8169] Merge of changes done by Realtek to rtl8169_init_one():
           - phy capability settings allows lower or equal capability as suggested
             in Realtek's changes;
           - I/O voodoo;
           - no need to s/mdio_write/RTL8169_WRITE_GMII_REG/;
           - s/rtl8169_hw_PHY_config/rtl8169_hw_phy_config/;
           - rtl8169_hw_phy_config(): ad-hoc struct "phy_magic" to limit duplication
             of code (yep, the u16 -> int conversions should work as expected);
           - variable renames and whitepace changes ignored.
      
      As the 8168 wasn't supported by that version this patch simply removes
      the bogus write from mac versions <= RTL_GIGA_MAC_VER_06.
      
      [The change above makes sense for the 8101/8102 too -- Ueimor]
      Signed-off-by: NMarcus Sundberg <marcus@ingate.com>
      Signed-off-by: NFrancois Romieu <romieu@fr.zoreil.com>
      77332894
    • F
      r8169: multicast register update · f887cce8
      Francois Romieu 提交于
      The layout of the 8101 series is identical to that of the 8168 one,
      thus allowing to pack everything not 8169 related above MAC_VER_06.
      New 810x and 8168 chipsets should automagically behave correctly.
      
      It matches code in Realtek's 1.008.00 8101 and 8.007.00 8168 drivers.
      Signed-off-by: NFrancois Romieu <romieu@fr.zoreil.com>
      f887cce8
  4. 19 7月, 2008 5 次提交
  5. 18 7月, 2008 10 次提交