> 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