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