Search Linux Wireless

Re: [v5 4/8] rsi: add coex support

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

 



Amitkumar Karwar <amitkarwar@xxxxxxxxx> writes:

> From: Prameela Rani Garnepudi <prameela.j04cs@xxxxxxxxx>
>
> With BT support, driver has to handle two streams of data
> (i.e. wlan and BT). Actual coex implementation is in firmware.
> Coex module just schedule the packets to firmware by taking them
> from the corresponding paths.
>
> Structures for module and protocol operations are introduced for
> this purpose. Protocol operations structure is global structure
> which can be shared among different modules. Initialization of
> coex and operating mode values is moved to rsi_91x_init().
>
> Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs@xxxxxxxxx>
> Signed-off-by: Siva Rebbagondla <siva.rebbagondla@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Amitkumar Karwar <amit.karwar@xxxxxxxxxxxxxxxxxx>

[...]

> +static void rsi_coex_sched_tx_pkts(struct rsi_coex_ctrl_block *coex_cb)
> +{
> +	enum rsi_coex_queues coex_q;
> +	struct sk_buff *skb;
> +
> +	while (1) {
> +		coex_q = rsi_coex_determine_coex_q(coex_cb);
> +		rsi_dbg(INFO_ZONE, "queue = %d\n", coex_q);
> +
> +		if (coex_q == RSI_COEX_Q_INVALID) {
> +			rsi_dbg(DATA_TX_ZONE, "No more pkt\n");
> +			break;
> +		}
> +
> +		if (coex_q == RSI_COEX_Q_BT)
> +			skb = skb_dequeue(&coex_cb->coex_tx_qs[RSI_COEX_Q_BT]);
> +	}
> +}

Neverending loops are dangerous in kernel. Can you put a limit so that
if there's a bug the loop will not run forever?

-- 
Kalle Valo



[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