1. 27 8月, 2008 1 次提交
  2. 30 7月, 2008 1 次提交
    • J
      Ath5k: fix memory corruption · 3a0f2c87
      Jiri Slaby 提交于
      When signal is noisy, hardware can use all RX buffers and since the last
      entry in the list is self-linked, it overwrites the entry until we link
      new buffers.
      
      Ensure that we don't free this last one until we are 100% sure that it
      is not used by the hardware anymore to not cause memory curruption as
      can be seen below.
      
      This is done by checking next buffer in the list. Even after that we
      know that the hardware refetched the new link and proceeded further
      (the next buffer is ready) we can finally free the overwritten buffer.
      
      We discard it since the status in its descriptor is overwritten (OR-ed
      by new status) too.
      
      =============================================================================
      BUG kmalloc-4096: Poison overwritten
      -----------------------------------------------------------------------------
      
      INFO: 0xffff810067419060-0xffff810067419667. First byte 0x8 instead of 0x6b
      INFO: Allocated in dev_alloc_skb+0x18/0x30 age=1118 cpu=1 pid=0
      INFO: Freed in skb_release_data+0x85/0xd0 age=1105 cpu=1 pid=3718
      INFO: Slab 0xffffe200019d0600 objects=7 used=0 fp=0xffff810067419048 flags=0x40000000000020c3
      INFO: Object 0xffff810067419048 @offset=4168 fp=0xffff81006741c120
      
      Bytes b4 0xffff810067419038:  4f 0b 02 00 01 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a O.......ZZZZZZZZ
        Object 0xffff810067419048:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
        Object 0xffff810067419058:  6b 6b 6b 6b 6b 6b 6b 6b 08 42 30 00 00 0b 6b 80 kkkkkkkk.B0...k.
        Object 0xffff810067419068:  f0 5d 00 4f 62 08 a3 64 00 0c 42 16 52 e4 f0 5a 360].Ob.243d..B.R344360Z
        Object 0xffff810067419078:  68 81 00 00 7b a5 b4 be 7d 3b 8f 53 cd d5 de 12 h...{245264276};.S315325336.
        Object 0xffff810067419088:  96 10 0b 89 48 54 23 41 0f 4e 2d b9 37 c3 cb 29 ....HT#A.N-2717303313)
        Object 0xffff810067419098:  d1 e0 de 14 8a 57 2a cc 3b 44 0d 78 7a 19 12 15 321340336..W*314;D.xz...
        Object 0xffff8100674190a8:  a9 ec d4 35 a8 10 ec 8c 40 a7 06 0a 51 a7 48 bb 2513543245250.354.@247..Q247H273
        Object 0xffff8100674190b8:  3e cf a1 c7 38 60 63 3f 51 15 c7 20 eb ba 65 30 >ϡ3078`c?Q.307.353272e0
       Redzone 0xffff81006741a048:  bb bb bb bb bb bb bb bb                         273273273273273273273273
       Padding 0xffff81006741a088:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ
      Pid: 3297, comm: ath5k_pci Not tainted 2.6.26-rc8-mm1_64 #427
      
      Call Trace:
       [<ffffffff802a7306>] print_trailer+0xf6/0x150
       [<ffffffff802a7485>] check_bytes_and_report+0x125/0x180
       [<ffffffff802a75dc>] check_object+0xac/0x260
       [<ffffffff802a9308>] __slab_alloc+0x368/0x6d0
       [<ffffffff80544f82>] ? wireless_send_event+0x142/0x310
       [<ffffffff804b1bd4>] ? __alloc_skb+0x44/0x150
       [<ffffffff80544f82>] ? wireless_send_event+0x142/0x310
       [<ffffffff802aa853>] __kmalloc_track_caller+0xc3/0xf0
       [<ffffffff804b1bfe>] __alloc_skb+0x6e/0x150
      [... stack snipped]
      
      FIX kmalloc-4096: Restoring 0xffff810067419060-0xffff810067419667=0x6b
      
      FIX kmalloc-4096: Marking all objects used
      Signed-off-by: NJiri Slaby <jirislaby@gmail.com>
      Acked-by: NNick Kossifidis <mickflemm@gmail.com>
      Cc: Luis R. Rodriguez <mcgrof@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3a0f2c87
  3. 27 6月, 2008 1 次提交
  4. 22 5月, 2008 1 次提交
  5. 08 5月, 2008 1 次提交
  6. 01 3月, 2008 2 次提交
    • L
      ath5k: Port debug.c over to the new band API and enable as build option · b446197c
      Luis R. Rodriguez 提交于
      This patch finishes the port and enables debug as an build option.
      This was tested on:
      
      Atheros AR5213A chip found (MAC: 0x59, PHY: 0x43)
      RF5112A multiband radio found (0x36)
      
      Note:
      
      For 2 GHz band on the above card I noticed we get negative channel
      numbers. Will look into this unless someone beats me to it.
      
      Example out put when loading using:
      
      sudo modprobe ath5k debug=0x00000400
      
       Band 2 GHz: channels 26, rates 12
        channels:
           1 2412 00c0 0000
           2 2417 00c0 0000
           3 2422 00c0 0000
           4 2427 00c0 0000
           5 2432 00c0 0000
           6 2437 00c0 0000
           7 2442 00c0 0000
           8 2447 00c0 0000
           9 2452 00c0 0000
          10 2457 00c0 0000
          11 2462 00c0 0000
          12 2467 00c0 0000
          13 2472 00c0 0000
          14 2484 00c0 0000
         -498 2512 00c0 0000
         -494 2532 00c0 0000
         -490 2552 00c0 0000
         -486 2572 00c0 0000
         -482 2592 00c0 0000
         -478 2612 00c0 0000
         -474 2632 00c0 0000
         -470 2652 00c0 0000
         -466 2672 00c0 0000
         -462 2692 00c0 0000
         -458 2712 00c0 0000
         -454 2732 00c0 0000
       Band 5 GHz: channels 194, rates 8
        channels:
          27 5135 0140 0000
          28 5140 0140 0000
      [... etc ]
         219 6095 0140 0000
         220 6100 0140 0000
        rates:
           60 000b 0000 0000
           90 000f 0000 0000
          120 000a 0000 0000
          180 000e 0000 0000
          240 0009 0000 0000
          360 000d 0000 0000
          480 0008 0000 0000
          540 000c 0000 0000
      
      Changes to base.c, base.h
      Changes-licensed-under: 3-Clause-BSD
      
      Changes to debug.c, debug.h
      Changes-licensed-under: GPL
      Signed-off-by: NLuis R. Rodriguez <mcgrof@winlab.rutgers.edu>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b446197c
    • L
      ath5k: Port to new bitrate/channel API · d8ee398d
      Luis R. Rodriguez 提交于
      Author: Nick Kossifidis <mickflemm@gmail.com>
      
      Tested on 5211, 5213+5112, 5213A+2112A and it wors fine.
      
      Also i figured out a way to process rate vallue found
      on status descriptors, it's still buggy but we are getting
      closer (i think it improved stability a little).
      
      Changes to hw.c, initvals.c, phy.c
      Changes-licensed-under: ISC
      
      Changes to ath5k.h, base.c, base.h
      Changes-licensed-under: 3-Clause-BSD
      Acked-by: NJiri Slaby <jirislaby@gmail.com>
      Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@winlab.rutgers.edu>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d8ee398d
  7. 29 1月, 2008 4 次提交