1. 22 5月, 2008 2 次提交
  2. 15 5月, 2008 2 次提交
    • B
      mac80211: use hardware flags for signal/noise units · 566bfe5a
      Bruno Randolf 提交于
      trying to clean up the signal/noise code. the previous code in mac80211 had
      confusing names for the related variables, did not have much definition of
      what units of signal and noise were provided and used implicit mechanisms from
      the wireless extensions.
      
      this patch introduces hardware capability flags to let the hardware specify
      clearly if it can provide signal and noise level values and which units it can
      provide. this also anticipates possible new units like RCPI in the future.
      
      for signal:
      
        IEEE80211_HW_SIGNAL_UNSPEC - unspecified, unknown, hw specific
        IEEE80211_HW_SIGNAL_DB     - dB difference to unspecified reference point
        IEEE80211_HW_SIGNAL_DBM    - dBm, difference to 1mW
      
      for noise we currently only have dBm:
      
        IEEE80211_HW_NOISE_DBM     - dBm, difference to 1mW
      
      if IEEE80211_HW_SIGNAL_UNSPEC or IEEE80211_HW_SIGNAL_DB is used the driver has
      to provide the maximum value (max_signal) it reports in order for applications
      to make sense of the signal values.
      
      i tried my best to find out for each driver what it can provide and update it
      but i'm not sure (?) for some of them and used the more conservative guess in
      doubt. this can be fixed easily after this patch has been merged by changing
      the hardware flags of the driver.
      
      DRIVER          SIGNAL    MAX	NOISE   QUAL
      -----------------------------------------------------------------
      adm8211         unspec(?) 100   n/a     missing
      at76_usb        unspec(?) (?)   unused  missing
      ath5k           dBm             dBm     percent rssi
      b43legacy       dBm             dBm     percent jssi(?)
      b43             dBm             dBm     percent jssi(?)
      iwl-3945        dBm             dBm     percent snr+more
      iwl-4965        dBm             dBm     percent snr+more
      p54             unspec    127   n/a     missing
      rt2x00          dBm	        n/a     percent rssi+tx/rx frame success
        rt2400        dBm             n/a
        rt2500pci     dBm             n/a
        rt2500usb     dBm             n/a
        rt61pci       dBm             n/a
        rt73usb       dBm             n/a
      rtl8180         unspec(?) 65    n/a     (?)
      rtl8187         unspec(?) 65    (?)     noise(?)
      zd1211          dB(?)     100   n/a     percent
      
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      566bfe5a
    • H
      b43legacy: replace limit_value macro with clamp_val · ca21614d
      Harvey Harrison 提交于
      kernel-provided clamp_val is identical, delete the private limit_value helper.
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Cc: Michael Buesch <mb@bu3sch.de>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ca21614d
  3. 08 5月, 2008 3 次提交
  4. 29 4月, 2008 1 次提交
  5. 17 4月, 2008 1 次提交
  6. 16 4月, 2008 3 次提交
  7. 05 3月, 2008 1 次提交
  8. 01 3月, 2008 6 次提交
  9. 28 2月, 2008 1 次提交
  10. 16 2月, 2008 4 次提交
  11. 06 2月, 2008 4 次提交
    • S
      b43legacy: fix DMA slot resource leakage · 8dd0100c
      Stefano Brivio 提交于
      This fixes four resource leakages.
      In any error path we must deallocate the DMA frame slots we
      previously allocated by request_slot().
      This is done by storing the ring pointers before doing any ring
      allocation and restoring the old pointers in case of an error.
      
      This patch by Michael Buesch has been ported to b43legacy.
      
      Cc: Michael Buesch <mb@bu3sch.de>
      Signed-off-by: NStefano Brivio <stefano.brivio@polimi.it>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8dd0100c
    • S
      b43legacy: drop packets we are not able to encrypt · 9eca9a8e
      Stefano Brivio 提交于
      We must drop any packets we are not able to encrypt.
      We must not send them unencrypted or with an all-zero-key (which
      basically is the same as unencrypted, from a security point of view).
      
      This might only trigger shortly after resume before mac80211 reassociated
      and reconfigured the keys.
      
      It is safe to drop these packets, as the association they belong to
      is not guaranteed anymore anyway.
      This is a security fix in the sense that it prevents information leakage.
      
      This patch by Michael Buesch has been ported to b43legacy.
      
      Cc: Michael Buesch <mb@bu3sch.de>
      Signed-off-by: NStefano Brivio <stefano.brivio@polimi.it>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9eca9a8e
    • S
      b43legacy: fix suspend/resume · ada50731
      Stefano Brivio 提交于
      This patch makes suspend/resume work with the b43legacy driver.
      We must not overwrite the MAC addresses in the init function, as this
      would also overwrite the MAC on resume. With an all-zero MAC the device
      firmware is not able to ACK any received packets anymore.
      Fix this by moving the initializion stuff that must be done on init but
      not on resume to the start function.
      Also zero out filter_flags to make sure we don't have some flags
      from a previous instance for a tiny timeframe until mac80211 reconfigures
      them.
      
      This patch by Michael Buesch has been ported to b43legacy.
      
      Cc: Michael Buesch <mb@bu3sch.de>
      Signed-off-by: NStefano Brivio <stefano.brivio@polimi.it>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ada50731
    • S
      b43legacy: fix PIO crash · 0cd67d48
      Stefano Brivio 提交于
      Fix the crash reported below, which seems to happen on bcm4306 rev. 2 devices
      only while using PIO:
      
      Oops: 0000 [#1] PREEMPT
      Modules linked in: b43(F) rfkill(F) led_class(F) input_polldev(F) arc4 b43legacy mac80211 cfg80211 i915 drm snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device ohci1394 ieee1394 ssb pcmcia snd_intel8x0m ehci_hcd uhci_hcd evdev
      
      Pid: 0, comm: swapper Tainted: GF	(2.6.24st3 #2)
      EIP: 0060:[<f90f667b>] EFLAGS: 00010002 CPU: 0
      EIP is at b43legacy_pio_handle_txstatus+0xbb/0x210 [b43legacy]
      EAX: 0000049b EBX: f11f8044 ECX: 00000001 EDX: 00000000
      ESI: f1ff8000 EDI: 00000000 EBP: f11f8040 ESP: c04f4ef4
       DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
      Process swapper (pid: 0, ti=c04f4000 task=c0488300 task.ti=c04b8000)
      Stack: f90f2788 c05009f0 c0500900 000010f7 f1053823 c04f4f24 dfb8e800 00000003
             f1368000 00000007 00000296 f90f1975 00001000 010c0800 01000000 00000007
             f90f6391 f11f8000 00000082 c04f4f4a 00000000 00004fd0 10f70000 8c061000
      Call Trace:
       [<f90f2788>] b43legacy_debugfs_log_txstat+0x48/0xb0 [b43legacy]
       [<f90f1975>] b43legacy_handle_hwtxstatus+0x75/0x80 [b43legacy]
       [<f90f6391>] b43legacy_pio_rx+0x201/0x280 [b43legacy]
       [<f90e4fa3>] b43legacy_interrupt_tasklet+0x2e3/0x870 [b43legacy]
       [<c0123567>] tasklet_action+0x27/0x60
       [<c01237b4>] __do_softirq+0x54/0xb0
       [<c010686b>] do_softirq+0x7b/0xe0
       [<c01457c0>] handle_level_irq+0x0/0x110
       [<c01457c0>] handle_level_irq+0x0/0x110
       [<c0123758>] irq_exit+0x38/0x40
       [<c0106953>] do_IRQ+0x83/0xd0
       [<c011812f>] __update_rq_clock+0x4f/0x180
       [<c0104b4f>] common_interrupt+0x23/0x28
       [<c011007b>] wakeup_code+0x7b/0xde
       [<c02b1039>] acpi_processor_idle+0x24a/0x3c9
       [<c01025c7>] cpu_idle+0x47/0x80
       [<c04b9ad5>] start_kernel+0x205/0x290
       [<c04b9360>] unknown_bootoption+0x0/0x1f0
       =======================
      Code: 0f 00 00 81 fb ff 00 00 00 0f 87 36 01 00 00 8d 04 db 85 ff 8d 6c c6 40 8d 5d 04 0f 85 ef 00 00 00 fe 4e 0e 0f b7 46 0c 8b 53 04 <8b> 4a 50 29 c8 83 e8 52 66 89 46 0c 8b 54 24 14 80 7a 0b 00 74
      EIP: [<f90f667b>] b43legacy_pio_handle_txstatus+0xbb/0x210 [b43legacy] SS:ESP 0068:c04f4ef4
      Kernel panic - not syncing: Fatal exception in interrupt
      Signed-off-by: NStefano Brivio <stefano.brivio@polimi.it>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0cd67d48
  12. 01 2月, 2008 2 次提交
  13. 29 1月, 2008 10 次提交