1. 19 10月, 2013 12 次提交
  2. 04 10月, 2013 7 次提交
  3. 27 9月, 2013 2 次提交
    • J
      wireless: brcmfmac: use dev_get_platdata() · f4116702
      Jingoo Han 提交于
      Use the wrapper function for retrieving the platform data instead of
      accessing dev->platform_data directly. This is a cosmetic change
      to make the code simpler and enhance the readability.
      Signed-off-by: NJingoo Han <jg1.han@samsung.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f4116702
    • A
      brcmfmac: obtain platform data upon module initialization · db4efbbe
      Arend van Spriel 提交于
      The driver uses platform_driver_probe() to obtain platform data
      if any. However, that function is placed in the .init section so
      it must be called upon driver module initialization.
      
      The problem was reported by Fenguang Wu resulting in a kernel
      oops because the .init section was already freed.
      
      [   48.966342] Switched to clocksource tsc
      [   48.970002] kernel tried to execute NX-protected page - exploit attempt? (uid: 0)
      [   48.970851] BUG: unable to handle kernel paging request at ffffffff82196446
      [   48.970957] IP: [<ffffffff82196446>] classes_init+0x26/0x26
      [   48.970957] PGD 1e76067 PUD 1e77063 PMD f388063 PTE 8000000002196163
      [   48.970957] Oops: 0011 [#1]
      [   48.970957] CPU: 0 PID: 17 Comm: kworker/0:1 Not tainted 3.11.0-rc7-00444-gc52dd7f #23
      [   48.970957] Workqueue: events brcmf_driver_init
      [   48.970957] task: ffff8800001d2000 ti: ffff8800001d4000 task.ti: ffff8800001d4000
      [   48.970957] RIP: 0010:[<ffffffff82196446>]  [<ffffffff82196446>] classes_init+0x26/0x26
      [   48.970957] RSP: 0000:ffff8800001d5d40  EFLAGS: 00000286
      [   48.970957] RAX: 0000000000000001 RBX: ffffffff820c5620 RCX: 0000000000000000
      [   48.970957] RDX: 0000000000000001 RSI: ffffffff816f7380 RDI: ffffffff820c56c0
      [   48.970957] RBP: ffff8800001d5d50 R08: ffff8800001d2508 R09: 0000000000000002
      [   48.970957] R10: 0000000000000000 R11: 0001f7ce298c5620 R12: ffff8800001c76b0
      [   48.970957] R13: ffffffff81e91d40 R14: 0000000000000000 R15: ffff88000e0ce300
      [   48.970957] FS:  0000000000000000(0000) GS:ffffffff81e84000(0000) knlGS:0000000000000000
      [   48.970957] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [   48.970957] CR2: ffffffff82196446 CR3: 0000000001e75000 CR4: 00000000000006b0
      [   48.970957] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [   48.970957] DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000
      [   48.970957] Stack:
      [   48.970957]  ffffffff816f7df8 ffffffff820c5620 ffff8800001d5d60 ffffffff816eeec9
      [   48.970957]  ffff8800001d5de0 ffffffff81073dc5 ffffffff81073d68 ffff8800001d5db8
      [   48.970957]  0000000000000086 ffffffff820c5620 ffffffff824f7fd0 0000000000000000
      [   48.970957] Call Trace:
      [   48.970957]  [<ffffffff816f7df8>] ? brcmf_sdio_init+0x18/0x70
      [   48.970957]  [<ffffffff816eeec9>] brcmf_driver_init+0x9/0x10
      [   48.970957]  [<ffffffff81073dc5>] process_one_work+0x1d5/0x480
      [   48.970957]  [<ffffffff81073d68>] ? process_one_work+0x178/0x480
      [   48.970957]  [<ffffffff81074188>] worker_thread+0x118/0x3a0
      [   48.970957]  [<ffffffff81074070>] ? process_one_work+0x480/0x480
      [   48.970957]  [<ffffffff8107aa17>] kthread+0xe7/0xf0
      [   48.970957]  [<ffffffff810829f7>] ? finish_task_switch.constprop.57+0x37/0xd0
      [   48.970957]  [<ffffffff8107a930>] ? __kthread_parkme+0x80/0x80
      [   48.970957]  [<ffffffff81a6923a>] ret_from_fork+0x7a/0xb0
      [   48.970957]  [<ffffffff8107a930>] ? __kthread_parkme+0x80/0x80
      [   48.970957] Code: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
      cc cc cc cc cc cc <cc> cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
      [   48.970957] RIP  [<ffffffff82196446>] classes_init+0x26/0x26
      [   48.970957]  RSP <ffff8800001d5d40>
      [   48.970957] CR2: ffffffff82196446
      [   48.970957] ---[ end trace 62980817cd525f14 ]---
      
      Cc: <stable@vger.kernel.org> # 3.10.x, 3.11.x
      Reported-by: NFengguang Wu <fengguang.wu@intel.com>
      Reviewed-by: NHante Meuleman <meuleman@broadcom.com>
      Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com>
      Tested-by: NFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NArend van Spriel <arend@broadcom.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      db4efbbe
  4. 23 8月, 2013 1 次提交
  5. 16 8月, 2013 11 次提交
  6. 12 8月, 2013 1 次提交
  7. 10 8月, 2013 1 次提交
  8. 27 7月, 2013 1 次提交
    • A
      brcmfmac: inform cfg80211 about disconnect when device is unplugged · a538ae31
      Arend van Spriel 提交于
      When the brcmfmac device is physically removed cfg80211 gives a
      warning upon unregistering the net device (see below).
      
      [23052.390197] WARNING: CPU: 0 PID: 30 at net/wireless/core.c:937 cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]()
      [23052.400843] Modules linked in: brcmfmac(O) brcmutil(O) cfg80211(O) pl2303 usbserial binfmt_misc snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event lpc_ich snd_seq snd_timer snd_seq_device snd psmouse mfd_core serio_raw soundcore snd_page_alloc intel_ips dell_laptop dell_wmi sparse_keymap dcdbas nouveau ttm drm_kms_helper drm i2c_algo_bit mxm_wmi ahci libahci sdhci_pci firewire_ohci firewire_core sdhci crc_itu_t mmc_core intel_agp intel_gtt e1000e ptp pps_core agpgart video [last unloaded: brcmfmac]
      [23052.452987] CPU: 0 PID: 30 Comm: khubd Tainted: G           O 3.11.0-rc1-wl-testing-lockdep-00002-g41cc093-dirty #1
      [23052.463480] Hardware name: Dell Inc. Latitude E6410/07XJP9, BIOS A07 02/15/2011
      [23052.470852]  00000000 00000000 f4efdc18 c1522e3d f845bed2 f4efdc48 c103fbe4 c16a9254
      [23052.478762]  00000000 0000001e f845bed2 000003a9 f841da44 f841da44 f3790004 f25539c0
      [23052.486741]  e2700200 f4efdc58 c103fc22 00000009 00000000 f4efdcc0 f841da44 00000002
      [23052.494712] Call Trace:
      [23052.497165]  [<c1522e3d>] dump_stack+0x4b/0x66
      [23052.501685]  [<c103fbe4>] warn_slowpath_common+0x84/0xa0
      [23052.507085]  [<f841da44>] ? cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]
      [23052.514542]  [<f841da44>] ? cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]
      [23052.521981]  [<c103fc22>] warn_slowpath_null+0x22/0x30
      [23052.527191]  [<f841da44>] cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]
      [23052.534494]  [<c150abe8>] ? packet_notifier+0xc8/0x1d0
      [23052.539703]  [<c150abfc>] ? packet_notifier+0xdc/0x1d0
      [23052.544880]  [<c150ab20>] ? packet_seq_stop+0x30/0x30
      [23052.550002]  [<c152d655>] notifier_call_chain+0x45/0x60
      [23052.555298]  [<c106839f>] raw_notifier_call_chain+0x1f/0x30
      [23052.560963]  [<c143c693>] call_netdevice_notifiers_info+0x33/0x70
      [23052.567153]  [<c1459869>] ? qdisc_destroy+0x99/0xb0
      [23052.572116]  [<c143c6e3>] call_netdevice_notifiers+0x13/0x20
      [23052.577861]  [<c143df93>] rollback_registered_many+0xf3/0x1d0
      [23052.583687]  [<c1524cfc>] ? mutex_lock_nested+0x25c/0x350
      [23052.589150]  [<c143e0f4>] rollback_registered+0x24/0x40
      [23052.594445]  [<c143e15f>] unregister_netdevice_queue+0x4f/0xb0
      [23052.600344]  [<c143e299>] unregister_netdev+0x19/0x30
      [23052.605484]  [<f865b38f>] brcmf_del_if+0xbf/0x160 [brcmfmac]
      [23052.611223]  [<f865b7ae>] brcmf_detach+0x5e/0xd0 [brcmfmac]
      [23052.616881]  [<f8667413>] brcmf_usb_disconnect+0x63/0xa0 [brcmfmac]
      [23052.623217]  [<c13e09aa>] usb_unbind_interface+0x4a/0x180
      
      When the device is physically connected the driver sends a disassoc
      command to the device and response triggers the driver to inform cfg80211
      about it. However, with the device removed the disassoc command fails.
      This patch adds a call to cfg80211_disconnected() when that command fails.
      
      The warning was added by commit below and also cleans up, but better
      doing it in the driver if only to get rid of the warning.
      
      commit f9bef3df
      Author: Ben Greear <greearb@candelatech.com>
      Date:   Wed Jun 19 14:06:26 2013 -0700
      
          wireless: check for dangling wdev->current_bss pointer
      
      Cc: Ben Greear <greearb@candelatech.com>
      Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com>
      Signed-off-by: NArend van Spriel <arend@broadcom.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a538ae31
  9. 23 7月, 2013 2 次提交
  10. 15 7月, 2013 1 次提交
  11. 28 6月, 2013 1 次提交