Search Linux Wireless

Re: [1/4] mwifiex: more_task flag for main_process

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: Shengzhen Li <szli@xxxxxxxxxxx>
> 
> This patch handles a corner case where TX packet would remain in
> driver queue till next packet comes in.
> Here is sequence:
> 1. TX packet is queued via hard_start_xmit and main_work is queued
> 2. SDIO interrupt comes in which directly call mwifiex_main_process.
> This starts executing main superloop.
> 3. Now work from step1 is scheduled but at first check itself it sees
> mwifiex_processing is set and exits.
> 4. Now if superloop from step2 has passed TX processing part of superloop
> this packet would remain in queue until next packet/command/SDIO interrupt
> arrives and queues main_work.
> 
> This patch fixes this corner case by defining more_task flag which is set when
> mwifiex_processing is found to be true. At end of superloop we again check if
> more_task flag is set and if set, execute superloop again.
> 
> Signed-off-by: Shengzhen Li <szli@xxxxxxxxxxx>
> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx>
> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx>
> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx>

Thanks, 4 patches applied to wireless-drivers-next.git:

04c7b363c9f7 mwifiex: more_task flag for main_process
7521ce6eb2d3 mwifiex: do not process mgmt rx on uninitialized interface
b4e8aebbc7c2 mwifiex: change datatype to bool for device capability flags
1c4c24eb7e96 mwifiex: modify TX buff size for SD8887

Kalle Valo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux