diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-16 13:32:31 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-16 13:32:31 -0500 |
commit | e69381b4175ba162229646f6753ff1d87c24d468 (patch) | |
tree | ac4c03f6a0a1a0426832aa4f5c3b7732080c51cc /drivers/infiniband/hw/ipath | |
parent | 238ccbb050a243e935bb3fc679c2e4bbff7004aa (diff) | |
parent | 14f369d1d61e7ac6578c54ca9ce3caaf4072412c (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (45 commits)
RDMA/cxgb3: Fix error paths in post_send and post_recv
RDMA/nes: Fix stale ARP issue
RDMA/nes: FIN during MPA startup causes timeout
RDMA/nes: Free kmap() resources
RDMA/nes: Check for zero STag
RDMA/nes: Fix Xansation test crash on cm_node ref_count
RDMA/nes: Abnormal listener exit causes loopback node crash
RDMA/nes: Fix crash in nes_accept()
RDMA/nes: Resource not freed for REJECTed connections
RDMA/nes: MPA request/response error checking
RDMA/nes: Fix query of ORD values
RDMA/nes: Fix MAX_CM_BUFFER define
RDMA/nes: Pass correct size to ioremap_nocache()
RDMA/nes: Update copyright and branding string
RDMA/nes: Add max_cqe check to nes_create_cq()
RDMA/nes: Clean up struct nes_qp
RDMA/nes: Implement IB_SIGNAL_ALL_WR as an iWARP extension
RDMA/nes: Add additional SFP+ PHY uC status check and PHY reset
RDMA/nes: Correct fast memory registration implementation
IB/ehca: Fix error paths in post_send and post_recv
...
Diffstat (limited to 'drivers/infiniband/hw/ipath')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_driver.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c index 013d1380e77c..d2787fe80304 100644 --- a/drivers/infiniband/hw/ipath/ipath_driver.c +++ b/drivers/infiniband/hw/ipath/ipath_driver.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/delay.h> | 39 | #include <linux/delay.h> |
40 | #include <linux/netdevice.h> | 40 | #include <linux/netdevice.h> |
41 | #include <linux/vmalloc.h> | 41 | #include <linux/vmalloc.h> |
42 | #include <linux/bitmap.h> | ||
42 | 43 | ||
43 | #include "ipath_kernel.h" | 44 | #include "ipath_kernel.h" |
44 | #include "ipath_verbs.h" | 45 | #include "ipath_verbs.h" |
@@ -1697,7 +1698,7 @@ void ipath_chg_pioavailkernel(struct ipath_devdata *dd, unsigned start, | |||
1697 | unsigned len, int avail) | 1698 | unsigned len, int avail) |
1698 | { | 1699 | { |
1699 | unsigned long flags; | 1700 | unsigned long flags; |
1700 | unsigned end, cnt = 0, next; | 1701 | unsigned end, cnt = 0; |
1701 | 1702 | ||
1702 | /* There are two bits per send buffer (busy and generation) */ | 1703 | /* There are two bits per send buffer (busy and generation) */ |
1703 | start *= 2; | 1704 | start *= 2; |
@@ -1748,12 +1749,7 @@ void ipath_chg_pioavailkernel(struct ipath_devdata *dd, unsigned start, | |||
1748 | 1749 | ||
1749 | if (dd->ipath_pioupd_thresh) { | 1750 | if (dd->ipath_pioupd_thresh) { |
1750 | end = 2 * (dd->ipath_piobcnt2k + dd->ipath_piobcnt4k); | 1751 | end = 2 * (dd->ipath_piobcnt2k + dd->ipath_piobcnt4k); |
1751 | next = find_first_bit(dd->ipath_pioavailkernel, end); | 1752 | cnt = bitmap_weight(dd->ipath_pioavailkernel, end); |
1752 | while (next < end) { | ||
1753 | cnt++; | ||
1754 | next = find_next_bit(dd->ipath_pioavailkernel, end, | ||
1755 | next + 1); | ||
1756 | } | ||
1757 | } | 1753 | } |
1758 | spin_unlock_irqrestore(&ipath_pioavail_lock, flags); | 1754 | spin_unlock_irqrestore(&ipath_pioavail_lock, flags); |
1759 | 1755 | ||