summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2012-10-08 21:20:48 +0000
committerDavid S. Miller <davem@davemloft.net>2012-10-09 13:54:59 -0400
commit50fb47ae4d812d5eabc57539701dc0fd6404495e (patch)
treebd798b767f6fde897aedff220bf38ffb11137c86
parent1451ae6ef8bff77007338b2870bb3de2658afff8 (diff)
downloadlinux-50fb47ae4d812d5eabc57539701dc0fd6404495e.tar.gz
linux-50fb47ae4d812d5eabc57539701dc0fd6404495e.tar.bz2
linux-50fb47ae4d812d5eabc57539701dc0fd6404495e.zip
farsync: fix support for over 30 cards
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>
-rw-r--r--drivers/net/wan/farsync.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c
index 1a623183cbe5..b6271325f803 100644
--- a/drivers/net/wan/farsync.c
+++ b/drivers/net/wan/farsync.c
@@ -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);
}