linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kalle Valo <kvalo@qca.qualcomm.com>
To: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Cc: <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH V2 00/31] ath6kl Add multiple vif support
Date: Wed, 26 Oct 2011 10:22:30 +0300	[thread overview]
Message-ID: <4EA7B536.70107@qca.qualcomm.com> (raw)
In-Reply-To: <1319551466-29070-1-git-send-email-vthiagar@qca.qualcomm.com>

On 10/25/2011 05:03 PM, Vasanthakumar Thiagarajan wrote:
> This patch set adds basic infrastructure for multiple
> virtual interface. As configuring the firmware with more than one
> vif causes random target assert, the number of supported vifs is
> restricted to 1 for now. I would like to thank Vivek Natarajan
> (nataraja@qca.qualcomm.com) for his inital work in this area and
> Arthi Thiruvengadam (athiruve@qca.qualcomm.com) for finding some
> critical bugs.

I saw the lockdep warning below after I loaded the module and connected
to an AP. But the driver still functioned normally.

Kalle

[   73.439849] ath6kl: hw 2.1.1 fw 3.1.1.609
[   75.408050]
[   75.408081] =========================================================
[   75.416320] [ INFO: possible irq lock inversion dependency detected ]
[   75.423004] 3.1.0-rc9-wl+ #44
[   75.426086] ---------------------------------------------------------
[   75.432800] swapper/0 just changed the state of lock:
[   75.438049]  (&(&ar->lock)->rlock){+.-...}, at: [<bf011b94>]
ath6kl_indicate_tx_activity+0x38/0xb8 [ath6kl]
[   75.448303] but this lock took another, SOFTIRQ-unsafe lock in the past:
[   75.455261]  (&(&ar->list_lock)->rlock){+.+...}
[   75.459808]
[   75.459808] and interrupts could create inverse lock ordering between
them.
[   75.459808]
[   75.470306]
[   75.470306] other info that might help us debug this:
[   75.477081]  Possible interrupt unsafe locking scenario:
[   75.477081]
[   75.484130]        CPU0                    CPU1
[   75.488861]        ----                    ----
[   75.493560]   lock(&(&ar->list_lock)->rlock);
[   75.498107]                                local_irq_disable();
[   75.504241]                                lock(&(&ar->lock)->rlock);
[   75.510955]
lock(&(&ar->list_lock)->rlock);
[   75.518096]   <Interrupt>
[   75.520812]     lock(&(&ar->lock)->rlock);
[   75.525085]
[   75.525085]  *** DEADLOCK ***
[   75.525085]
[   75.531249] 3 locks held by swapper/0:
[   75.535156]  #0:  (&n->timer){+.-...}, at: [<c004ebe0>]
run_timer_softirq+0x244/0x564
[   75.543334]  #1:  (rcu_read_lock_bh){.+....}, at: [<c03175e4>]
dev_queue_xmit+0x0/0x714
[   75.551696]  #2:  (_xmit_ETHER#2){+.-...}, at: [<c032bfc4>]
sch_direct_xmit+0x38/0x2dc
[   75.559936]
[   75.559967] the shortest dependencies between 2nd lock and 1st lock:
[   75.568115]  -> (&(&ar->list_lock)->rlock){+.+...} ops: 60 {
[   75.574035]     HARDIRQ-ON-W at:
[   75.577392]                                          [<c0078004>]
__lock_acquire+0x7b0/0x1a8c
[   75.586273]                                          [<c00799d4>]
lock_acquire+0x158/0x1a8
[   75.594879]                                          [<c03e272c>]
_raw_spin_lock+0x4c/0x84
[   75.603485]                                          [<bf00898c>]
ath6kl_interface_add+0x184/0x1e0 [ath6kl]
[   75.613677]                                          [<bf00d204>]
ath6kl_core_init+0xe9c/0x1760 [ath6kl]
[   75.623565]                                          [<bf01859c>]
ath6kl_sdio_probe+0x324/0x3bc [ath6kl]
[   75.633483]                                          [<c02ed524>]
sdio_bus_probe+0x100/0x164
[   75.642272]                                          [<c0274de0>]
driver_probe_device+0x14c/0x290
[   75.651519]                                          [<c0274f8c>]
__driver_attach+0x68/0x8c
[   75.660217]                                          [<c0274458>]
bus_for_each_dev+0x4c/0x8c
[   75.669006]                                          [<c0273c9c>]
bus_add_driver+0xc4/0x250
[   75.677703]                                          [<c02755f0>]
driver_register+0xc0/0x150
[   75.686462]                                          [<bf02700c>]
0xbf02700c
[   75.693817]                                          [<c00086c0>]
do_one_initcall+0x94/0x160
[   75.702606]                                          [<c0084670>]
sys_init_module+0x1220/0x13e0
[   75.711669]                                          [<c00139e0>]
ret_fast_syscall+0x0/0x3c
[   75.720367]     SOFTIRQ-ON-W at:
[   75.723724]                                          [<c0078028>]
__lock_acquire+0x7d4/0x1a8c
[   75.732604]                                          [<c00799d4>]
lock_acquire+0x158/0x1a8
[   75.741180]                                          [<c03e272c>]
_raw_spin_lock+0x4c/0x84
[   75.749786]                                          [<bf00898c>]
ath6kl_interface_add+0x184/0x1e0 [ath6kl]
[   75.759979]                                          [<bf00d204>]
ath6kl_core_init+0xe9c/0x1760 [ath6kl]
[   75.769897]                                          [<bf01859c>]
ath6kl_sdio_probe+0x324/0x3bc [ath6kl]
[   75.779785]                                          [<c02ed524>]
sdio_bus_probe+0x100/0x164
[   75.788574]                                          [<c0274de0>]
driver_probe_device+0x14c/0x290
[   75.797821]                                          [<c0274f8c>]
__driver_attach+0x68/0x8c
[   75.806518]                                          [<c0274458>]
bus_for_each_dev+0x4c/0x8c
[   75.815307]                                          [<c0273c9c>]
bus_add_driver+0xc4/0x250
[   75.824005]                                          [<c02755f0>]
driver_register+0xc0/0x150
[   75.832794]                                          [<bf02700c>]
0xbf02700c
[   75.840118]                                          [<c00086c0>]
do_one_initcall+0x94/0x160
[   75.848907]                                          [<c0084670>]
sys_init_module+0x1220/0x13e0
[   75.857940]                                          [<c00139e0>]
ret_fast_syscall+0x0/0x3c
[   75.866638]     INITIAL USE at:
[   75.869903]                                         [<c007808c>]
__lock_acquire+0x838/0x1a8c
[   75.878692]                                         [<c00799d4>]
lock_acquire+0x158/0x1a8
[   75.887207]                                         [<c03e272c>]
_raw_spin_lock+0x4c/0x84
[   75.895721]                                         [<bf00898c>]
ath6kl_interface_add+0x184/0x1e0 [ath6kl]
[   75.905792]                                         [<bf00d204>]
ath6kl_core_init+0xe9c/0x1760 [ath6kl]
[   75.915618]                                         [<bf01859c>]
ath6kl_sdio_probe+0x324/0x3bc [ath6kl]
[   75.925445]                                         [<c02ed524>]
sdio_bus_probe+0x100/0x164
[   75.934143]                                         [<c0274de0>]
driver_probe_device+0x14c/0x290
[   75.943298]                                         [<c0274f8c>]
__driver_attach+0x68/0x8c
[   75.951904]                                         [<c0274458>]
bus_for_each_dev+0x4c/0x8c
[   75.960571]                                         [<c0273c9c>]
bus_add_driver+0xc4/0x250
[   75.969177]                                         [<c02755f0>]
driver_register+0xc0/0x150
[   75.977874]                                         [<bf02700c>]
0xbf02700c
[   75.985107]                                         [<c00086c0>]
do_one_initcall+0x94/0x160
[   75.993804]                                         [<c0084670>]
sys_init_module+0x1220/0x13e0
[   76.002777]                                         [<c00139e0>]
ret_fast_syscall+0x0/0x3c
[   76.011383]   }
[   76.013183]   ... key      at: [<bf020544>]
__key.38763+0x0/0xffff848c [ath6kl]
[   76.020843]   ... acquired at:
[   76.024017]    [<c00799d4>] lock_acquire+0x158/0x1a8
[   76.029174]    [<c03e272c>] _raw_spin_lock+0x4c/0x84
[   76.034362]    [<bf015410>] ath6kl_get_vif_by_index+0x68/0x78 [ath6kl]
[   76.041198]    [<bf0116b0>] ath6kl_tx_complete+0x178/0x4c0 [ath6kl]
[   76.047760]    [<bf0046ec>] htc_tx_comp_handler+0x4c/0x54 [ath6kl]
[   76.054229]    [<bf0030a8>] ath6kl_hif_rw_comp_handler+0x48/0x60 [ath6kl]
[   76.061340]    [<bf0186c4>] ath6kl_sdio_write_async_work+0x90/0xbc
[ath6kl]
[   76.068634]    [<c005a8c4>] process_one_work+0x354/0x628
[   76.074157]    [<c005cb74>] worker_thread+0x1f4/0x3c0
[   76.079437]    [<c006147c>] kthread+0x80/0x88
[   76.083953]    [<c001496c>] kernel_thread_exit+0x0/0x8
[   76.089324]
[   76.090850] -> (&(&ar->lock)->rlock){+.-...} ops: 23 {
[   76.096221]    HARDIRQ-ON-W at:
[   76.099487]                                        [<c0078004>]
__lock_acquire+0x7b0/0x1a8c
[   76.108184]                                        [<c00799d4>]
lock_acquire+0x158/0x1a8
[   76.116607]                                        [<c03e2aa0>]
_raw_spin_lock_bh+0x54/0x8c
[   76.125305]                                        [<bf0112d8>]
ath6kl_refill_amsdu_rxbufs+0x68/0x94 [ath6kl]
[   76.135681]                                        [<bf00da98>]
ath6kl_core_init+0x1730/0x1760 [ath6kl]
[   76.145477]                                        [<bf01859c>]
ath6kl_sdio_probe+0x324/0x3bc [ath6kl]
[   76.155212]                                        [<c02ed524>]
sdio_bus_probe+0x100/0x164
[   76.163818]                                        [<c0274de0>]
driver_probe_device+0x14c/0x290
[   76.172882]                                        [<c0274f8c>]
__driver_attach+0x68/0x8c
[   76.181396]                                        [<c0274458>]
bus_for_each_dev+0x4c/0x8c
[   76.190002]                                        [<c0273c9c>]
bus_add_driver+0xc4/0x250
[   76.198516]                                        [<c02755f0>]
driver_register+0xc0/0x150
[   76.207122]                                        [<bf02700c>]
0xbf02700c
[   76.214263]                                        [<c00086c0>]
do_one_initcall+0x94/0x160
[   76.222869]                                        [<c0084670>]
sys_init_module+0x1220/0x13e0
[   76.231750]                                        [<c00139e0>]
ret_fast_syscall+0x0/0x3c
[   76.240264]    IN-SOFTIRQ-W at:
[   76.243530]                                        [<c0077f9c>]
__lock_acquire+0x748/0x1a8c
[   76.252227]                                        [<c00799d4>]
lock_acquire+0x158/0x1a8
[   76.260650]                                        [<c03e2aa0>]
_raw_spin_lock_bh+0x54/0x8c
[   76.269348]                                        [<bf011b94>]
ath6kl_indicate_tx_activity+0x38/0xb8 [ath6kl]
[   76.279785]                                        [<bf014460>]
ath6kl_wmi_create_pstream_cmd+0x1e0/0x224 [ath6kl]
[   76.290618]                                        [<bf0145a4>]
ath6kl_wmi_implicit_create_pstream+0x100/0x138 [ath6kl]
[   76.301910]                                        [<bf012020>]
ath6kl_data_tx+0x2d0/0x5fc [ath6kl]
[   76.311370]                                        [<c03172a8>]
dev_hard_start_xmit+0x504/0x840
[   76.320404]                                        [<c032bfe8>]
sch_direct_xmit+0x5c/0x2dc
[   76.329010]                                        [<c0317a08>]
dev_queue_xmit+0x424/0x714
[   76.337615]                                        [<c0363864>]
arp_solicit+0x214/0x254
[   76.345977]                                        [<c0323c30>]
neigh_timer_handler+0x22c/0x2a8
[   76.355010]                                        [<c004ed08>]
run_timer_softirq+0x36c/0x564
[   76.363891]                                        [<c0047e48>]
__do_softirq+0x138/0x314
[   76.372314]                                        [<c00481d4>]
irq_exit+0x54/0xb4
[   76.380187]                                        [<c00148f8>]
handle_IRQ+0x68/0x8c
[   76.388244]                                        [<c03e34b8>]
__irq_svc+0x38/0xa0
[   76.396240]                                        [<c007673c>]
trace_hardirqs_on_caller+0x1c/0x19c
[   76.405639]                                        [<c0015018>]
cpu_idle+0x7c/0xcc
[   76.413513]                                        [<c05687f8>]
start_kernel+0x2ac/0x30c
[   76.421936]    INITIAL USE at:
[   76.425109]                                       [<c007808c>]
__lock_acquire+0x838/0x1a8c
[   76.433715]                                       [<c00799d4>]
lock_acquire+0x158/0x1a8
[   76.442047]                                       [<c03e2aa0>]
_raw_spin_lock_bh+0x54/0x8c
[   76.450653]                                       [<bf0112d8>]
ath6kl_refill_amsdu_rxbufs+0x68/0x94 [ath6kl]
[   76.460937]                                       [<bf00da98>]
ath6kl_core_init+0x1730/0x1760 [ath6kl]
[   76.470672]                                       [<bf01859c>]
ath6kl_sdio_probe+0x324/0x3bc [ath6kl]
[   76.480316]                                       [<c02ed524>]
sdio_bus_probe+0x100/0x164
[   76.488830]                                       [<c0274de0>]
driver_probe_device+0x14c/0x290
[   76.497802]                                       [<c0274f8c>]
__driver_attach+0x68/0x8c
[   76.506225]                                       [<c0274458>]
bus_for_each_dev+0x4c/0x8c
[   76.514739]                                       [<c0273c9c>]
bus_add_driver+0xc4/0x250
[   76.523162]                                       [<c02755f0>]
driver_register+0xc0/0x150
[   76.531677]                                       [<bf02700c>] 0xbf02700c
[   76.538757]                                       [<c00086c0>]
do_one_initcall+0x94/0x160
[   76.547241]                                       [<c0084670>]
sys_init_module+0x1220/0x13e0
[   76.556030]                                       [<c00139e0>]
ret_fast_syscall+0x0/0x3c
[   76.564453]  }
[   76.566192]  ... key      at: [<bf020554>] __key.38761+0x0/0xffff847c
[ath6kl]
[   76.573730]  ... acquired at:
[   76.576812]    [<c0076ea4>] check_usage_forwards+0xd8/0xfc
[   76.582519]    [<c007618c>] mark_lock+0x388/0x618
[   76.587432]    [<c0077f9c>] __lock_acquire+0x748/0x1a8c
[   76.592864]    [<c00799d4>] lock_acquire+0x158/0x1a8
[   76.598022]    [<c03e2aa0>] _raw_spin_lock_bh+0x54/0x8c
[   76.603485]    [<bf011b94>] ath6kl_indicate_tx_activity+0x38/0xb8
[ath6kl]
[   76.610687]    [<bf014460>] ath6kl_wmi_create_pstream_cmd+0x1e0/0x224
[ath6kl]
[   76.618255]    [<bf0145a4>]
ath6kl_wmi_implicit_create_pstream+0x100/0x138 [ath6kl]
[   76.626251]    [<bf012020>] ath6kl_data_tx+0x2d0/0x5fc [ath6kl]
[   76.632476]    [<c03172a8>] dev_hard_start_xmit+0x504/0x840
[   76.638275]    [<c032bfe8>] sch_direct_xmit+0x5c/0x2dc
[   76.643615]    [<c0317a08>] dev_queue_xmit+0x424/0x714
[   76.648956]    [<c0363864>] arp_solicit+0x214/0x254
[   76.654052]    [<c0323c30>] neigh_timer_handler+0x22c/0x2a8
[   76.659851]    [<c004ed08>] run_timer_softirq+0x36c/0x564
[   76.665466]    [<c0047e48>] __do_softirq+0x138/0x314
[   76.670654]    [<c00481d4>] irq_exit+0x54/0xb4
[   76.675262]    [<c00148f8>] handle_IRQ+0x68/0x8c
[   76.680084]    [<c03e34b8>] __irq_svc+0x38/0xa0
[   76.684814]    [<c007673c>] trace_hardirqs_on_caller+0x1c/0x19c
[   76.690979]    [<c0015018>] cpu_idle+0x7c/0xcc
[   76.695587]    [<c05687f8>] start_kernel+0x2ac/0x30c
[   76.700775]
[   76.702301]
[   76.702301] stack backtrace:
[   76.706878] [<c0019998>] (unwind_backtrace+0x0/0x128) from
[<c0076d88>] (print_irq_inversion_bug+0x194/0x1d8)
[   76.717193] [<c0076d88>] (print_irq_inversion_bug+0x194/0x1d8) from
[<c0076ea4>] (check_usage_forwards+0xd8/0xfc)
[   76.727874] [<c0076ea4>] (check_usage_forwards+0xd8/0xfc) from
[<c007618c>] (mark_lock+0x388/0x618)
[   76.737274] [<c007618c>] (mark_lock+0x388/0x618) from [<c0077f9c>]
(__lock_acquire+0x748/0x1a8c)
[   76.746429] [<c0077f9c>] (__lock_acquire+0x748/0x1a8c) from
[<c00799d4>] (lock_acquire+0x158/0x1a8)
[   76.755859] [<c00799d4>] (lock_acquire+0x158/0x1a8) from [<c03e2aa0>]
(_raw_spin_lock_bh+0x54/0x8c)
[   76.765319] [<c03e2aa0>] (_raw_spin_lock_bh+0x54/0x8c) from
[<bf011b94>] (ath6kl_indicate_tx_activity+0x38/0xb8 [ath6kl])
[   76.776824] [<bf011b94>] (ath6kl_indicate_tx_activity+0x38/0xb8
[ath6kl]) from [<bf014460>] (ath6kl_wmi_create_pstream_cmd+0x1e0/0x224
[ath6kl])
[   76.790405] [<bf014460>] (ath6kl_wmi_create_pstream_cmd+0x1e0/0x224
[ath6kl]) from [<bf0145a4>]
(ath6kl_wmi_implicit_create_pstream+0x100/0x138 [ath6kl])
[   76.804809] [<bf0145a4>]
(ath6kl_wmi_implicit_create_pstream+0x100/0x138 [ath6kl]) from
[<bf012020>] (ath6kl_data_tx+0x2d0/0x5fc [ath6kl])
[   76.817779] [<bf012020>] (ath6kl_data_tx+0x2d0/0x5fc [ath6kl]) from
[<c03172a8>] (dev_hard_start_xmit+0x504/0x840)
[   76.828552] [<c03172a8>] (dev_hard_start_xmit+0x504/0x840) from
[<c032bfe8>] (sch_direct_xmit+0x5c/0x2dc)
[   76.838531] [<c032bfe8>] (sch_direct_xmit+0x5c/0x2dc) from
[<c0317a08>] (dev_queue_xmit+0x424/0x714)
[   76.848022] [<c0317a08>] (dev_queue_xmit+0x424/0x714) from
[<c0363864>] (arp_solicit+0x214/0x254)
[   76.857269] [<c0363864>] (arp_solicit+0x214/0x254) from [<c0323c30>]
(neigh_timer_handler+0x22c/0x2a8)
[   76.866973] [<c0323c30>] (neigh_timer_handler+0x22c/0x2a8) from
[<c004ed08>] (run_timer_softirq+0x36c/0x564)
[   76.877197] [<c004ed08>] (run_timer_softirq+0x36c/0x564) from
[<c0047e48>] (__do_softirq+0x138/0x314)
[   76.886779] [<c0047e48>] (__do_softirq+0x138/0x314) from [<c00481d4>]
(irq_exit+0x54/0xb4)
[   76.895385] [<c00481d4>] (irq_exit+0x54/0xb4) from [<c00148f8>]
(handle_IRQ+0x68/0x8c)
[   76.903625] [<c00148f8>] (handle_IRQ+0x68/0x8c) from [<c03e34b8>]
(__irq_svc+0x38/0xa0)
[   76.911987] [<c03e34b8>] (__irq_svc+0x38/0xa0) from [<c007673c>]
(trace_hardirqs_on_caller+0x1c/0x19c)
[   76.921661] [<c007673c>] (trace_hardirqs_on_caller+0x1c/0x19c) from
[<c0015018>] (cpu_idle+0x7c/0xcc)
[   76.931243] [<c0015018>] (cpu_idle+0x7c/0xcc) from [<c05687f8>]
(start_kernel+0x2ac/0x30c)

  parent reply	other threads:[~2011-10-26  7:22 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-25 14:03 [PATCH V2 00/31] ath6kl Add multiple vif support Vasanthakumar Thiagarajan
2011-10-25 14:03 ` [PATCH V2 01/31] ath6kl: Pass ath6kl structure to ath6kl_init() instead of net_device Vasanthakumar Thiagarajan
2011-10-25 14:03 ` [PATCH V2 02/31] ath6kl: Keep wiphy reference in ath6kl structure Vasanthakumar Thiagarajan
2011-10-25 14:03 ` [PATCH V2 03/31] ath6kl: Refactor wiphy dev and net dev init functions Vasanthakumar Thiagarajan
2011-10-25 14:03 ` [PATCH V2 04/31] ath6kl: Cleanup fw interface type setting Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 05/31] ath6kl: Define an initial vif structure and use it Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 06/31] ath6kl: Define interface specific states Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 07/31] ath6kl: Move ssid and crypto information to vif structure Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 08/31] ath6kl: Move nw_type " Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 09/31] ath6kl: Move bssid information " Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 10/31] ath6kl: Move channel " Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 11/31] ath6kl: Move key " Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 12/31] ath6kl: Move aggregation " Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 13/31] ath6kl: Move disconnect timer " Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 14/31] ath6kl: Move scan_req info and sme_state to vif Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 15/31] ath6kl: Move few more vif specific information to struct ath6kl_vif Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 16/31] ath6kl: Make net and target stats vif specific Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 17/31] ath6kl: Maintain firmware interface index in struct ath6kl_vif Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 18/31] ath6kl: Take vif information from wmi event Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 19/31] ath6kl: Remove net_device from ath6kl Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 20/31] ath6kl: Cleanup parameters in ath6kl_init_control_info() and ath6kl_init_profile_info() Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 21/31] ath6kl: Refactor ath6kl_destroy() Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 22/31] ath6kl: Use interface index from wmi data headr Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 23/31] ath6kl: Store hw mac address in struct ath6kl Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 24/31] ath6kl: Introduce spinlock to protect vif specific information Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 25/31] ath6kl: Maintain virtual interface in a list Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 26/31] ath6kl: Use the other variant of netdev (un)register APIs Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 27/31] ath6kl: Configure inteface information at init time Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 28/31] ath6kl: Implement add_virtual_intf() and del_virtual_intf() Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 29/31] ath6kl: Add a modparam to enable multi normal interface support Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 30/31] ath6kl: Initialize target wlan values for every vif Vasanthakumar Thiagarajan
2011-10-25 14:04 ` [PATCH V2 31/31] ath6kl: Use appropriate wdev from vif Vasanthakumar Thiagarajan
2011-10-26  7:22 ` Kalle Valo [this message]
2011-11-01  5:29   ` [PATCH V2 00/31] ath6kl Add multiple vif support Vasanthakumar Thiagarajan
2011-10-26  8:24 ` Kalle Valo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EA7B536.70107@qca.qualcomm.com \
    --to=kvalo@qca.qualcomm.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=vthiagar@qca.qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).