Skip to contentSkip to conversation

rsi: Add RS9113 wireless driver

DISCUSSION Dan Carpenter 1 participant 1 message Mar 28, 2014

lore
Share & tools
lore
#0 lore raw

Hello Fariya Fatima,

The patch dad0d04fa7ba: "rsi: Add RS9113 wireless driver" from Mar 16, 2014, leads to the following static checker warning:

	drivers/net/wireless/rsi/rsi_91x_core.c:121 rsi_core_determine_hal_queue()
	error: buffer overflow 'common->tx_qinfo' 4 <= 4

This is probably a false positive.

drivers/net/wireless/rsi/rsi_91x_core.c
104 get_queue_num:

   105          q_num = 0;
                ^^^^^^^^^

Unneeded assignment.

106 recontend_queue = false;
107

   108          q_num = rsi_determine_min_weight_queue(common);
                ^^^^^

q_num = 0-4.

109 q_len = skb_queue_len(&common->tx_queue[ii]);
110 ii = q_num;
111
112 /* Selecting the queue with least back off */
113 for (; ii < NUM_EDCA_QUEUES; ii++) {
114 if (((common->tx_qinfo[ii].pkt_contended) &&
115 (common->tx_qinfo[ii].weight < min)) && q_len) {
116 min = common->tx_qinfo[ii].weight;
117 q_num = ii;
118 }
119 }
120

   121          common->tx_qinfo[q_num].pkt_contended = 0;
                                 ^^^^^

4 is too high.

122 /* Adjust the back off values for all queues again */
123 recontend_queue = rsi_recalculate_weights(common);

regards,
dan carpenter