Thread (1 message) 1 message, 1 author, 2014-06-07

Re: [PATCH] net: wan: wanxl.c: Cleaning up declaration of a while loop

From: Krzysztof Halasa <khc@pm.waw.pl>
Date: 2014-06-07 17:48:33
Also in: lkml

Rickard Strandqvist [off-list ref] writes:
Unusual declaration of a while loop.
However, believe you also want to make sure that the pointer is not NULL
Not really. The code is meant to do exactly what it currently does -
set variable desc and then check desc->stat.
All rx_descs are at this point already initialized and not NULL
(if desc was indeed NULL we better BUG*() or Oops on desc->stat access
instead of failing silently).
quoted hunk
--- a/drivers/net/wan/wanxl.c
+++ b/drivers/net/wan/wanxl.c
@@ -196,7 +196,7 @@ static inline void wanxl_tx_intr(port_t *port)
 static inline void wanxl_rx_intr(card_t *card)
 {
 	desc_t *desc;
-	while (desc = &card->status->rx_descs[card->rx_in],
+	while (desc = &card->status->rx_descs[card->rx_in] &&
 	       desc->stat != PACKET_EMPTY) {
 		if ((desc->stat & PACKET_PORT_MASK) > card->n_ports)
 			pr_crit("%s: received packet for nonexistent port\n",
-- 
Krzysztof Halasa
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help