farsync: fix support for over 30 cards
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 8 Oct 2012 21:20:48 +0000 (21:20 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 9 Oct 2012 17:54:59 +0000 (13:54 -0400)
We're trying to fill a 64 bit bitmap but only the lower 30 shifts work
because the shift wraps around.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wan/farsync.c

index 1a623183cbe54d63f8392f924953b127ded83c1f..b6271325f8035c33ebaabf5e172f9ef9725780ba 100644 (file)
@@ -597,7 +597,7 @@ fst_q_work_item(u64 * queue, int card_index)
         * bottom half for the card.  Note the limitation of 64 cards.
         * That ought to be enough
         */
-       mask = 1 << card_index;
+       mask = (u64)1 << card_index;
        *queue |= mask;
        spin_unlock_irqrestore(&fst_work_q_lock, flags);
 }