diff options
Diffstat (limited to 'drivers/atm/nicstar.c')
-rw-r--r-- | drivers/atm/nicstar.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c index c57e20dcb0f8..074abc81ec3d 100644 --- a/drivers/atm/nicstar.c +++ b/drivers/atm/nicstar.c | |||
@@ -2126,8 +2126,7 @@ static void process_rsq(ns_dev *card) | |||
2126 | 2126 | ||
2127 | if (!ns_rsqe_valid(card->rsq.next)) | 2127 | if (!ns_rsqe_valid(card->rsq.next)) |
2128 | return; | 2128 | return; |
2129 | while (ns_rsqe_valid(card->rsq.next)) | 2129 | do { |
2130 | { | ||
2131 | dequeue_rx(card, card->rsq.next); | 2130 | dequeue_rx(card, card->rsq.next); |
2132 | ns_rsqe_init(card->rsq.next); | 2131 | ns_rsqe_init(card->rsq.next); |
2133 | previous = card->rsq.next; | 2132 | previous = card->rsq.next; |
@@ -2135,7 +2134,7 @@ static void process_rsq(ns_dev *card) | |||
2135 | card->rsq.next = card->rsq.base; | 2134 | card->rsq.next = card->rsq.base; |
2136 | else | 2135 | else |
2137 | card->rsq.next++; | 2136 | card->rsq.next++; |
2138 | } | 2137 | } while (ns_rsqe_valid(card->rsq.next)); |
2139 | writel((((u32) previous) - ((u32) card->rsq.base)), | 2138 | writel((((u32) previous) - ((u32) card->rsq.base)), |
2140 | card->membase + RSQH); | 2139 | card->membase + RSQH); |
2141 | } | 2140 | } |