Search Linux Wireless

Re: [PATCH] wifi: wilc1000: Added back-off algorithm to balance tx queue packets.

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

 



Hi,

kernel test robot noticed the following build warnings:

[auto build test WARNING on wireless-next/main]
[also build test WARNING on wireless/main linus/master v6.5-rc5 next-20230809]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Prasurjya-Rohansaikia-microchip-com/wifi-wilc1000-Added-back-off-algorithm-to-balance-tx-queue-packets/20230811-024902
base:   https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main
patch link:    https://lore.kernel.org/r/20230810184633.94338-1-prasurjya.rohansaikia%40microchip.com
patch subject: [PATCH] wifi: wilc1000: Added back-off algorithm to balance tx queue packets.
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20230812/202308121630.OJIJ2i9a-lkp@xxxxxxxxx/config)
compiler: sh4-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230812/202308121630.OJIJ2i9a-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308121630.OJIJ2i9a-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

   drivers/net/wireless/microchip/wilc1000/netdev.c: In function 'wilc_txq_task':
>> drivers/net/wireless/microchip/wilc1000/netdev.c:147:21: warning: variable 'timeout' set but not used [-Wunused-but-set-variable]
     147 |         signed long timeout;
         |                     ^~~~~~~


vim +/timeout +147 drivers/net/wireless/microchip/wilc1000/netdev.c

   142	
   143	static int wilc_txq_task(void *vp)
   144	{
   145		int ret;
   146		u32 txq_count;
 > 147		signed long timeout;
   148		struct wilc *wl = vp;
   149	
   150		complete(&wl->txq_thread_started);
   151		while (1) {
   152			if (wait_for_completion_interruptible(&wl->txq_event))
   153				continue;
   154			if (wl->close) {
   155				complete(&wl->txq_thread_started);
   156	
   157				while (!kthread_should_stop())
   158					schedule();
   159				break;
   160			}
   161			do {
   162				ret = wilc_wlan_handle_txq(wl, &txq_count);
   163				if (txq_count < FLOW_CONTROL_LOWER_THRESHOLD) {
   164					int srcu_idx;
   165					struct wilc_vif *ifc;
   166	
   167					srcu_idx = srcu_read_lock(&wl->srcu);
   168					list_for_each_entry_rcu(ifc, &wl->vif_list,
   169								list) {
   170						if (ifc->mac_opened &&
   171						    netif_queue_stopped(ifc->ndev))
   172							netif_wake_queue(ifc->ndev);
   173					}
   174					srcu_read_unlock(&wl->srcu, srcu_idx);
   175				}
   176				if (ret != WILC_VMM_ENTRY_FULL_RETRY)
   177					break;
   178				/* Back off from sending packets for some time.
   179				 * schedule_timeout will allow RX task to run and free
   180				 * buffers. Setting state to TASK_INTERRUPTIBLE will
   181				 * put the thread back to CPU running queue when it's
   182				 * signaled even if 'timeout' isn't elapsed. This gives
   183				 * faster chance for reserved SK buffers to be freed
   184				 */
   185				set_current_state(TASK_INTERRUPTIBLE);
   186				timeout = schedule_timeout(msecs_to_jiffies(TX_BACKOFF_WEIGHT_MS));
   187			} while (ret == WILC_VMM_ENTRY_FULL_RETRY && !wl->close);
   188		}
   189		return 0;
   190	}
   191	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



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

  Powered by Linux