diff options
author | Jiri Kosina <jkosina@suse.cz> | 2010-04-22 20:08:44 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2010-04-22 20:08:44 -0400 |
commit | 6c9468e9eb1252eaefd94ce7f06e1be9b0b641b1 (patch) | |
tree | 797676a336b050bfa1ef879377c07e541b9075d6 /drivers/infiniband | |
parent | 4cb3ca7cd7e2cae8d1daf5345ec99a1e8502cf3f (diff) | |
parent | c81eddb0e3728661d1585fbc564449c94165cc36 (diff) |
Merge branch 'master' into for-next
Diffstat (limited to 'drivers/infiniband')
83 files changed, 158 insertions, 21 deletions
diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c index abbb06996f9e..0b926e45afe2 100644 --- a/drivers/infiniband/core/addr.c +++ b/drivers/infiniband/core/addr.c | |||
@@ -35,6 +35,7 @@ | |||
35 | 35 | ||
36 | #include <linux/mutex.h> | 36 | #include <linux/mutex.h> |
37 | #include <linux/inetdevice.h> | 37 | #include <linux/inetdevice.h> |
38 | #include <linux/slab.h> | ||
38 | #include <linux/workqueue.h> | 39 | #include <linux/workqueue.h> |
39 | #include <net/arp.h> | 40 | #include <net/arp.h> |
40 | #include <net/neighbour.h> | 41 | #include <net/neighbour.h> |
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c index 764787ebe8d8..ad63b79afac1 100644 --- a/drivers/infiniband/core/cm.c +++ b/drivers/infiniband/core/cm.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <linux/random.h> | 42 | #include <linux/random.h> |
43 | #include <linux/rbtree.h> | 43 | #include <linux/rbtree.h> |
44 | #include <linux/spinlock.h> | 44 | #include <linux/spinlock.h> |
45 | #include <linux/slab.h> | ||
45 | #include <linux/sysfs.h> | 46 | #include <linux/sysfs.h> |
46 | #include <linux/workqueue.h> | 47 | #include <linux/workqueue.h> |
47 | #include <linux/kdev_t.h> | 48 | #include <linux/kdev_t.h> |
@@ -3693,7 +3694,7 @@ static void cm_add_one(struct ib_device *ib_device) | |||
3693 | cm_dev->device = device_create(&cm_class, &ib_device->dev, | 3694 | cm_dev->device = device_create(&cm_class, &ib_device->dev, |
3694 | MKDEV(0, 0), NULL, | 3695 | MKDEV(0, 0), NULL, |
3695 | "%s", ib_device->name); | 3696 | "%s", ib_device->name); |
3696 | if (!cm_dev->device) { | 3697 | if (IS_ERR(cm_dev->device)) { |
3697 | kfree(cm_dev); | 3698 | kfree(cm_dev); |
3698 | return; | 3699 | return; |
3699 | } | 3700 | } |
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index 875e34e0b235..6d777069d86d 100644 --- a/drivers/infiniband/core/cma.c +++ b/drivers/infiniband/core/cma.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <linux/random.h> | 40 | #include <linux/random.h> |
41 | #include <linux/idr.h> | 41 | #include <linux/idr.h> |
42 | #include <linux/inetdevice.h> | 42 | #include <linux/inetdevice.h> |
43 | #include <linux/slab.h> | ||
43 | 44 | ||
44 | #include <net/tcp.h> | 45 | #include <net/tcp.h> |
45 | #include <net/ipv6.h> | 46 | #include <net/ipv6.h> |
@@ -1683,6 +1684,7 @@ int rdma_set_ib_paths(struct rdma_cm_id *id, | |||
1683 | } | 1684 | } |
1684 | 1685 | ||
1685 | memcpy(id->route.path_rec, path_rec, sizeof *path_rec * num_paths); | 1686 | memcpy(id->route.path_rec, path_rec, sizeof *path_rec * num_paths); |
1687 | id->route.num_paths = num_paths; | ||
1686 | return 0; | 1688 | return 0; |
1687 | err: | 1689 | err: |
1688 | cma_comp_exch(id_priv, CMA_ROUTE_RESOLVED, CMA_ADDR_RESOLVED); | 1690 | cma_comp_exch(id_priv, CMA_ROUTE_RESOLVED, CMA_ADDR_RESOLVED); |
diff --git a/drivers/infiniband/core/iwcm.c b/drivers/infiniband/core/iwcm.c index 0f89909abce9..bfead5bc25f6 100644 --- a/drivers/infiniband/core/iwcm.c +++ b/drivers/infiniband/core/iwcm.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <linux/spinlock.h> | 44 | #include <linux/spinlock.h> |
45 | #include <linux/workqueue.h> | 45 | #include <linux/workqueue.h> |
46 | #include <linux/completion.h> | 46 | #include <linux/completion.h> |
47 | #include <linux/slab.h> | ||
47 | 48 | ||
48 | #include <rdma/iw_cm.h> | 49 | #include <rdma/iw_cm.h> |
49 | #include <rdma/ib_addr.h> | 50 | #include <rdma/ib_addr.h> |
diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c index 58463da814d1..1df1194aeba4 100644 --- a/drivers/infiniband/core/mad.c +++ b/drivers/infiniband/core/mad.c | |||
@@ -34,6 +34,7 @@ | |||
34 | * | 34 | * |
35 | */ | 35 | */ |
36 | #include <linux/dma-mapping.h> | 36 | #include <linux/dma-mapping.h> |
37 | #include <linux/slab.h> | ||
37 | #include <rdma/ib_cache.h> | 38 | #include <rdma/ib_cache.h> |
38 | 39 | ||
39 | #include "mad_priv.h" | 40 | #include "mad_priv.h" |
@@ -2953,6 +2954,9 @@ static void ib_mad_remove_device(struct ib_device *device) | |||
2953 | { | 2954 | { |
2954 | int i, num_ports, cur_port; | 2955 | int i, num_ports, cur_port; |
2955 | 2956 | ||
2957 | if (rdma_node_get_transport(device->node_type) != RDMA_TRANSPORT_IB) | ||
2958 | return; | ||
2959 | |||
2956 | if (device->node_type == RDMA_NODE_IB_SWITCH) { | 2960 | if (device->node_type == RDMA_NODE_IB_SWITCH) { |
2957 | num_ports = 1; | 2961 | num_ports = 1; |
2958 | cur_port = 0; | 2962 | cur_port = 0; |
diff --git a/drivers/infiniband/core/mad_rmpp.c b/drivers/infiniband/core/mad_rmpp.c index 4e0f2829e0e5..f37878c9c06e 100644 --- a/drivers/infiniband/core/mad_rmpp.c +++ b/drivers/infiniband/core/mad_rmpp.c | |||
@@ -31,6 +31,8 @@ | |||
31 | * SOFTWARE. | 31 | * SOFTWARE. |
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/slab.h> | ||
35 | |||
34 | #include "mad_priv.h" | 36 | #include "mad_priv.h" |
35 | #include "mad_rmpp.h" | 37 | #include "mad_rmpp.h" |
36 | 38 | ||
diff --git a/drivers/infiniband/core/multicast.c b/drivers/infiniband/core/multicast.c index 8d82ba171353..a519801dcfb7 100644 --- a/drivers/infiniband/core/multicast.c +++ b/drivers/infiniband/core/multicast.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/dma-mapping.h> | 34 | #include <linux/dma-mapping.h> |
35 | #include <linux/err.h> | 35 | #include <linux/err.h> |
36 | #include <linux/interrupt.h> | 36 | #include <linux/interrupt.h> |
37 | #include <linux/slab.h> | ||
37 | #include <linux/bitops.h> | 38 | #include <linux/bitops.h> |
38 | #include <linux/random.h> | 39 | #include <linux/random.h> |
39 | 40 | ||
diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c index 1558bb7fc74d..f901957abc8b 100644 --- a/drivers/infiniband/core/sysfs.c +++ b/drivers/infiniband/core/sysfs.c | |||
@@ -461,6 +461,7 @@ alloc_group_attrs(ssize_t (*show)(struct ib_port *, | |||
461 | element->attr.attr.mode = S_IRUGO; | 461 | element->attr.attr.mode = S_IRUGO; |
462 | element->attr.show = show; | 462 | element->attr.show = show; |
463 | element->index = i; | 463 | element->index = i; |
464 | sysfs_attr_init(&element->attr.attr); | ||
464 | 465 | ||
465 | tab_attr[i] = &element->attr.attr; | 466 | tab_attr[i] = &element->attr.attr; |
466 | } | 467 | } |
diff --git a/drivers/infiniband/core/ucm.c b/drivers/infiniband/core/ucm.c index 017d6e24448f..512b1c43460c 100644 --- a/drivers/infiniband/core/ucm.c +++ b/drivers/infiniband/core/ucm.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <linux/cdev.h> | 44 | #include <linux/cdev.h> |
45 | #include <linux/idr.h> | 45 | #include <linux/idr.h> |
46 | #include <linux/mutex.h> | 46 | #include <linux/mutex.h> |
47 | #include <linux/slab.h> | ||
47 | 48 | ||
48 | #include <asm/uaccess.h> | 49 | #include <asm/uaccess.h> |
49 | 50 | ||
diff --git a/drivers/infiniband/core/ucma.c b/drivers/infiniband/core/ucma.c index b2e16c332d5b..46185084121e 100644 --- a/drivers/infiniband/core/ucma.c +++ b/drivers/infiniband/core/ucma.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/in.h> | 39 | #include <linux/in.h> |
40 | #include <linux/in6.h> | 40 | #include <linux/in6.h> |
41 | #include <linux/miscdevice.h> | 41 | #include <linux/miscdevice.h> |
42 | #include <linux/slab.h> | ||
42 | 43 | ||
43 | #include <rdma/rdma_user_cm.h> | 44 | #include <rdma/rdma_user_cm.h> |
44 | #include <rdma/ib_marshall.h> | 45 | #include <rdma/ib_marshall.h> |
diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c index 4f906f0614f0..415e186eee32 100644 --- a/drivers/infiniband/core/umem.c +++ b/drivers/infiniband/core/umem.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/sched.h> | 37 | #include <linux/sched.h> |
38 | #include <linux/hugetlb.h> | 38 | #include <linux/hugetlb.h> |
39 | #include <linux/dma-attrs.h> | 39 | #include <linux/dma-attrs.h> |
40 | #include <linux/slab.h> | ||
40 | 41 | ||
41 | #include "uverbs.h" | 42 | #include "uverbs.h" |
42 | 43 | ||
diff --git a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c index 04b585e86cb2..e7db054fb1c8 100644 --- a/drivers/infiniband/core/user_mad.c +++ b/drivers/infiniband/core/user_mad.c | |||
@@ -46,6 +46,7 @@ | |||
46 | #include <linux/compat.h> | 46 | #include <linux/compat.h> |
47 | #include <linux/sched.h> | 47 | #include <linux/sched.h> |
48 | #include <linux/semaphore.h> | 48 | #include <linux/semaphore.h> |
49 | #include <linux/slab.h> | ||
49 | 50 | ||
50 | #include <asm/uaccess.h> | 51 | #include <asm/uaccess.h> |
51 | 52 | ||
diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c index f71cf138d674..6fcfbeb24a23 100644 --- a/drivers/infiniband/core/uverbs_cmd.c +++ b/drivers/infiniband/core/uverbs_cmd.c | |||
@@ -35,6 +35,7 @@ | |||
35 | 35 | ||
36 | #include <linux/file.h> | 36 | #include <linux/file.h> |
37 | #include <linux/fs.h> | 37 | #include <linux/fs.h> |
38 | #include <linux/slab.h> | ||
38 | 39 | ||
39 | #include <asm/uaccess.h> | 40 | #include <asm/uaccess.h> |
40 | 41 | ||
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c index d805cf365c8d..fb3526254426 100644 --- a/drivers/infiniband/core/uverbs_main.c +++ b/drivers/infiniband/core/uverbs_main.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <linux/file.h> | 44 | #include <linux/file.h> |
45 | #include <linux/cdev.h> | 45 | #include <linux/cdev.h> |
46 | #include <linux/anon_inodes.h> | 46 | #include <linux/anon_inodes.h> |
47 | #include <linux/slab.h> | ||
47 | 48 | ||
48 | #include <asm/uaccess.h> | 49 | #include <asm/uaccess.h> |
49 | 50 | ||
diff --git a/drivers/infiniband/hw/amso1100/c2.c b/drivers/infiniband/hw/amso1100/c2.c index c61fd2b4a556..dc85d777578e 100644 --- a/drivers/infiniband/hw/amso1100/c2.c +++ b/drivers/infiniband/hw/amso1100/c2.c | |||
@@ -46,6 +46,7 @@ | |||
46 | #include <linux/tcp.h> | 46 | #include <linux/tcp.h> |
47 | #include <linux/init.h> | 47 | #include <linux/init.h> |
48 | #include <linux/dma-mapping.h> | 48 | #include <linux/dma-mapping.h> |
49 | #include <linux/slab.h> | ||
49 | 50 | ||
50 | #include <asm/io.h> | 51 | #include <asm/io.h> |
51 | #include <asm/irq.h> | 52 | #include <asm/irq.h> |
diff --git a/drivers/infiniband/hw/amso1100/c2_alloc.c b/drivers/infiniband/hw/amso1100/c2_alloc.c index e9110163aeff..d4f5f5d42e90 100644 --- a/drivers/infiniband/hw/amso1100/c2_alloc.c +++ b/drivers/infiniband/hw/amso1100/c2_alloc.c | |||
@@ -32,7 +32,6 @@ | |||
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/errno.h> | 34 | #include <linux/errno.h> |
35 | #include <linux/slab.h> | ||
36 | #include <linux/bitmap.h> | 35 | #include <linux/bitmap.h> |
37 | 36 | ||
38 | #include "c2.h" | 37 | #include "c2.h" |
diff --git a/drivers/infiniband/hw/amso1100/c2_cm.c b/drivers/infiniband/hw/amso1100/c2_cm.c index 75b93e9b8810..95f58ab1e0b8 100644 --- a/drivers/infiniband/hw/amso1100/c2_cm.c +++ b/drivers/infiniband/hw/amso1100/c2_cm.c | |||
@@ -31,6 +31,8 @@ | |||
31 | * SOFTWARE. | 31 | * SOFTWARE. |
32 | * | 32 | * |
33 | */ | 33 | */ |
34 | #include <linux/slab.h> | ||
35 | |||
34 | #include "c2.h" | 36 | #include "c2.h" |
35 | #include "c2_wr.h" | 37 | #include "c2_wr.h" |
36 | #include "c2_vq.h" | 38 | #include "c2_vq.h" |
diff --git a/drivers/infiniband/hw/amso1100/c2_cq.c b/drivers/infiniband/hw/amso1100/c2_cq.c index f5c45b194f53..f7b0fc23f413 100644 --- a/drivers/infiniband/hw/amso1100/c2_cq.c +++ b/drivers/infiniband/hw/amso1100/c2_cq.c | |||
@@ -35,6 +35,8 @@ | |||
35 | * SOFTWARE. | 35 | * SOFTWARE. |
36 | * | 36 | * |
37 | */ | 37 | */ |
38 | #include <linux/gfp.h> | ||
39 | |||
38 | #include "c2.h" | 40 | #include "c2.h" |
39 | #include "c2_vq.h" | 41 | #include "c2_vq.h" |
40 | #include "c2_status.h" | 42 | #include "c2_status.h" |
diff --git a/drivers/infiniband/hw/amso1100/c2_mm.c b/drivers/infiniband/hw/amso1100/c2_mm.c index b506fe22b4d4..119c4f3d9791 100644 --- a/drivers/infiniband/hw/amso1100/c2_mm.c +++ b/drivers/infiniband/hw/amso1100/c2_mm.c | |||
@@ -30,6 +30,8 @@ | |||
30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
31 | * SOFTWARE. | 31 | * SOFTWARE. |
32 | */ | 32 | */ |
33 | #include <linux/slab.h> | ||
34 | |||
33 | #include "c2.h" | 35 | #include "c2.h" |
34 | #include "c2_vq.h" | 36 | #include "c2_vq.h" |
35 | 37 | ||
diff --git a/drivers/infiniband/hw/amso1100/c2_pd.c b/drivers/infiniband/hw/amso1100/c2_pd.c index 00c709926c8d..161f2a285351 100644 --- a/drivers/infiniband/hw/amso1100/c2_pd.c +++ b/drivers/infiniband/hw/amso1100/c2_pd.c | |||
@@ -34,6 +34,7 @@ | |||
34 | */ | 34 | */ |
35 | 35 | ||
36 | #include <linux/init.h> | 36 | #include <linux/init.h> |
37 | #include <linux/slab.h> | ||
37 | #include <linux/errno.h> | 38 | #include <linux/errno.h> |
38 | 39 | ||
39 | #include "c2.h" | 40 | #include "c2.h" |
diff --git a/drivers/infiniband/hw/amso1100/c2_provider.c b/drivers/infiniband/hw/amso1100/c2_provider.c index ad723bd8bf49..c47f618d12e8 100644 --- a/drivers/infiniband/hw/amso1100/c2_provider.c +++ b/drivers/infiniband/hw/amso1100/c2_provider.c | |||
@@ -50,6 +50,7 @@ | |||
50 | #include <linux/dma-mapping.h> | 50 | #include <linux/dma-mapping.h> |
51 | #include <linux/if_arp.h> | 51 | #include <linux/if_arp.h> |
52 | #include <linux/vmalloc.h> | 52 | #include <linux/vmalloc.h> |
53 | #include <linux/slab.h> | ||
53 | 54 | ||
54 | #include <asm/io.h> | 55 | #include <asm/io.h> |
55 | #include <asm/irq.h> | 56 | #include <asm/irq.h> |
diff --git a/drivers/infiniband/hw/amso1100/c2_qp.c b/drivers/infiniband/hw/amso1100/c2_qp.c index ad518868df77..d8f4bb8bf42e 100644 --- a/drivers/infiniband/hw/amso1100/c2_qp.c +++ b/drivers/infiniband/hw/amso1100/c2_qp.c | |||
@@ -36,6 +36,7 @@ | |||
36 | */ | 36 | */ |
37 | 37 | ||
38 | #include <linux/delay.h> | 38 | #include <linux/delay.h> |
39 | #include <linux/gfp.h> | ||
39 | 40 | ||
40 | #include "c2.h" | 41 | #include "c2.h" |
41 | #include "c2_vq.h" | 42 | #include "c2_vq.h" |
diff --git a/drivers/infiniband/hw/amso1100/c2_rnic.c b/drivers/infiniband/hw/amso1100/c2_rnic.c index dd05c4835642..78c4bcc6ef60 100644 --- a/drivers/infiniband/hw/amso1100/c2_rnic.c +++ b/drivers/infiniband/hw/amso1100/c2_rnic.c | |||
@@ -51,6 +51,7 @@ | |||
51 | #include <linux/mm.h> | 51 | #include <linux/mm.h> |
52 | #include <linux/inet.h> | 52 | #include <linux/inet.h> |
53 | #include <linux/vmalloc.h> | 53 | #include <linux/vmalloc.h> |
54 | #include <linux/slab.h> | ||
54 | 55 | ||
55 | #include <linux/route.h> | 56 | #include <linux/route.h> |
56 | 57 | ||
diff --git a/drivers/infiniband/hw/cxgb3/cxio_dbg.c b/drivers/infiniband/hw/cxgb3/cxio_dbg.c index a8d24d53f307..8bca6b4ec9af 100644 --- a/drivers/infiniband/hw/cxgb3/cxio_dbg.c +++ b/drivers/infiniband/hw/cxgb3/cxio_dbg.c | |||
@@ -31,6 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | #ifdef DEBUG | 32 | #ifdef DEBUG |
33 | #include <linux/types.h> | 33 | #include <linux/types.h> |
34 | #include <linux/slab.h> | ||
34 | #include "common.h" | 35 | #include "common.h" |
35 | #include "cxgb3_ioctl.h" | 36 | #include "cxgb3_ioctl.h" |
36 | #include "cxio_hal.h" | 37 | #include "cxio_hal.h" |
diff --git a/drivers/infiniband/hw/cxgb3/cxio_hal.c b/drivers/infiniband/hw/cxgb3/cxio_hal.c index a28e862f2d68..35f286f1ad1e 100644 --- a/drivers/infiniband/hw/cxgb3/cxio_hal.c +++ b/drivers/infiniband/hw/cxgb3/cxio_hal.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/spinlock.h> | 37 | #include <linux/spinlock.h> |
38 | #include <linux/pci.h> | 38 | #include <linux/pci.h> |
39 | #include <linux/dma-mapping.h> | 39 | #include <linux/dma-mapping.h> |
40 | #include <linux/slab.h> | ||
40 | #include <net/net_namespace.h> | 41 | #include <net/net_namespace.h> |
41 | 42 | ||
42 | #include "cxio_resource.h" | 43 | #include "cxio_resource.h" |
diff --git a/drivers/infiniband/hw/cxgb3/iwch.c b/drivers/infiniband/hw/cxgb3/iwch.c index ee1d8b4d4541..63f975f3e30f 100644 --- a/drivers/infiniband/hw/cxgb3/iwch.c +++ b/drivers/infiniband/hw/cxgb3/iwch.c | |||
@@ -189,6 +189,7 @@ static void close_rnic_dev(struct t3cdev *tdev) | |||
189 | list_for_each_entry_safe(dev, tmp, &dev_list, entry) { | 189 | list_for_each_entry_safe(dev, tmp, &dev_list, entry) { |
190 | if (dev->rdev.t3cdev_p == tdev) { | 190 | if (dev->rdev.t3cdev_p == tdev) { |
191 | dev->rdev.flags = CXIO_ERROR_FATAL; | 191 | dev->rdev.flags = CXIO_ERROR_FATAL; |
192 | synchronize_net(); | ||
192 | cancel_delayed_work_sync(&dev->db_drop_task); | 193 | cancel_delayed_work_sync(&dev->db_drop_task); |
193 | list_del(&dev->entry); | 194 | list_del(&dev->entry); |
194 | iwch_unregister_device(dev); | 195 | iwch_unregister_device(dev); |
@@ -217,6 +218,7 @@ static void iwch_event_handler(struct t3cdev *tdev, u32 evt, u32 port_id) | |||
217 | switch (evt) { | 218 | switch (evt) { |
218 | case OFFLOAD_STATUS_DOWN: { | 219 | case OFFLOAD_STATUS_DOWN: { |
219 | rdev->flags = CXIO_ERROR_FATAL; | 220 | rdev->flags = CXIO_ERROR_FATAL; |
221 | synchronize_net(); | ||
220 | event.event = IB_EVENT_DEVICE_FATAL; | 222 | event.event = IB_EVENT_DEVICE_FATAL; |
221 | dispatch = 1; | 223 | dispatch = 1; |
222 | break; | 224 | break; |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_cm.c b/drivers/infiniband/hw/cxgb3/iwch_cm.c index d94388b81a40..4fef03296276 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_cm.c +++ b/drivers/infiniband/hw/cxgb3/iwch_cm.c | |||
@@ -31,6 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | #include <linux/module.h> | 32 | #include <linux/module.h> |
33 | #include <linux/list.h> | 33 | #include <linux/list.h> |
34 | #include <linux/slab.h> | ||
34 | #include <linux/workqueue.h> | 35 | #include <linux/workqueue.h> |
35 | #include <linux/skbuff.h> | 36 | #include <linux/skbuff.h> |
36 | #include <linux/timer.h> | 37 | #include <linux/timer.h> |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_ev.c b/drivers/infiniband/hw/cxgb3/iwch_ev.c index 743c5d8b8806..6afc89e7572c 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_ev.c +++ b/drivers/infiniband/hw/cxgb3/iwch_ev.c | |||
@@ -29,7 +29,7 @@ | |||
29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
30 | * SOFTWARE. | 30 | * SOFTWARE. |
31 | */ | 31 | */ |
32 | #include <linux/slab.h> | 32 | #include <linux/gfp.h> |
33 | #include <linux/mman.h> | 33 | #include <linux/mman.h> |
34 | #include <net/sock.h> | 34 | #include <net/sock.h> |
35 | #include "iwch_provider.h" | 35 | #include "iwch_provider.h" |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_mem.c b/drivers/infiniband/hw/cxgb3/iwch_mem.c index e1ec65ebb016..5c36ee2809ac 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_mem.c +++ b/drivers/infiniband/hw/cxgb3/iwch_mem.c | |||
@@ -29,6 +29,7 @@ | |||
29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
30 | * SOFTWARE. | 30 | * SOFTWARE. |
31 | */ | 31 | */ |
32 | #include <linux/slab.h> | ||
32 | #include <asm/byteorder.h> | 33 | #include <asm/byteorder.h> |
33 | 34 | ||
34 | #include <rdma/iw_cm.h> | 35 | #include <rdma/iw_cm.h> |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_provider.c b/drivers/infiniband/hw/cxgb3/iwch_provider.c index 47b35c6608d2..19b1c4a62a23 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_provider.c +++ b/drivers/infiniband/hw/cxgb3/iwch_provider.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <linux/ethtool.h> | 42 | #include <linux/ethtool.h> |
43 | #include <linux/rtnetlink.h> | 43 | #include <linux/rtnetlink.h> |
44 | #include <linux/inetdevice.h> | 44 | #include <linux/inetdevice.h> |
45 | #include <linux/slab.h> | ||
45 | 46 | ||
46 | #include <asm/io.h> | 47 | #include <asm/io.h> |
47 | #include <asm/irq.h> | 48 | #include <asm/irq.h> |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_qp.c b/drivers/infiniband/hw/cxgb3/iwch_qp.c index b4d893de3650..ae47bfd22bd5 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_qp.c +++ b/drivers/infiniband/hw/cxgb3/iwch_qp.c | |||
@@ -30,6 +30,7 @@ | |||
30 | * SOFTWARE. | 30 | * SOFTWARE. |
31 | */ | 31 | */ |
32 | #include <linux/sched.h> | 32 | #include <linux/sched.h> |
33 | #include <linux/gfp.h> | ||
33 | #include "iwch_provider.h" | 34 | #include "iwch_provider.h" |
34 | #include "iwch.h" | 35 | #include "iwch.h" |
35 | #include "iwch_cm.h" | 36 | #include "iwch_cm.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_av.c b/drivers/infiniband/hw/ehca/ehca_av.c index 56735ea2fc57..465926319f3d 100644 --- a/drivers/infiniband/hw/ehca/ehca_av.c +++ b/drivers/infiniband/hw/ehca/ehca_av.c | |||
@@ -41,6 +41,8 @@ | |||
41 | * POSSIBILITY OF SUCH DAMAGE. | 41 | * POSSIBILITY OF SUCH DAMAGE. |
42 | */ | 42 | */ |
43 | 43 | ||
44 | #include <linux/slab.h> | ||
45 | |||
44 | #include "ehca_tools.h" | 46 | #include "ehca_tools.h" |
45 | #include "ehca_iverbs.h" | 47 | #include "ehca_iverbs.h" |
46 | #include "hcp_if.h" | 48 | #include "hcp_if.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_cq.c b/drivers/infiniband/hw/ehca/ehca_cq.c index 97e4b231cdc4..d9b0ebcb67d7 100644 --- a/drivers/infiniband/hw/ehca/ehca_cq.c +++ b/drivers/infiniband/hw/ehca/ehca_cq.c | |||
@@ -43,6 +43,8 @@ | |||
43 | * POSSIBILITY OF SUCH DAMAGE. | 43 | * POSSIBILITY OF SUCH DAMAGE. |
44 | */ | 44 | */ |
45 | 45 | ||
46 | #include <linux/slab.h> | ||
47 | |||
46 | #include "ehca_iverbs.h" | 48 | #include "ehca_iverbs.h" |
47 | #include "ehca_classes.h" | 49 | #include "ehca_classes.h" |
48 | #include "ehca_irq.h" | 50 | #include "ehca_irq.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_hca.c b/drivers/infiniband/hw/ehca/ehca_hca.c index 8b92f85d4dd0..73edc3668663 100644 --- a/drivers/infiniband/hw/ehca/ehca_hca.c +++ b/drivers/infiniband/hw/ehca/ehca_hca.c | |||
@@ -39,6 +39,8 @@ | |||
39 | * POSSIBILITY OF SUCH DAMAGE. | 39 | * POSSIBILITY OF SUCH DAMAGE. |
40 | */ | 40 | */ |
41 | 41 | ||
42 | #include <linux/gfp.h> | ||
43 | |||
42 | #include "ehca_tools.h" | 44 | #include "ehca_tools.h" |
43 | #include "ehca_iverbs.h" | 45 | #include "ehca_iverbs.h" |
44 | #include "hcp_if.h" | 46 | #include "hcp_if.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_irq.c b/drivers/infiniband/hw/ehca/ehca_irq.c index b2b6fea2b141..07cae552cafb 100644 --- a/drivers/infiniband/hw/ehca/ehca_irq.c +++ b/drivers/infiniband/hw/ehca/ehca_irq.c | |||
@@ -41,6 +41,8 @@ | |||
41 | * POSSIBILITY OF SUCH DAMAGE. | 41 | * POSSIBILITY OF SUCH DAMAGE. |
42 | */ | 42 | */ |
43 | 43 | ||
44 | #include <linux/slab.h> | ||
45 | |||
44 | #include "ehca_classes.h" | 46 | #include "ehca_classes.h" |
45 | #include "ehca_irq.h" | 47 | #include "ehca_irq.h" |
46 | #include "ehca_iverbs.h" | 48 | #include "ehca_iverbs.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_mrmw.c b/drivers/infiniband/hw/ehca/ehca_mrmw.c index 7550a534005c..31a68b9c52d0 100644 --- a/drivers/infiniband/hw/ehca/ehca_mrmw.c +++ b/drivers/infiniband/hw/ehca/ehca_mrmw.c | |||
@@ -40,6 +40,7 @@ | |||
40 | * POSSIBILITY OF SUCH DAMAGE. | 40 | * POSSIBILITY OF SUCH DAMAGE. |
41 | */ | 41 | */ |
42 | 42 | ||
43 | #include <linux/slab.h> | ||
43 | #include <rdma/ib_umem.h> | 44 | #include <rdma/ib_umem.h> |
44 | 45 | ||
45 | #include "ehca_iverbs.h" | 46 | #include "ehca_iverbs.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_pd.c b/drivers/infiniband/hw/ehca/ehca_pd.c index 2fe554855fa5..351577a6670a 100644 --- a/drivers/infiniband/hw/ehca/ehca_pd.c +++ b/drivers/infiniband/hw/ehca/ehca_pd.c | |||
@@ -38,6 +38,8 @@ | |||
38 | * POSSIBILITY OF SUCH DAMAGE. | 38 | * POSSIBILITY OF SUCH DAMAGE. |
39 | */ | 39 | */ |
40 | 40 | ||
41 | #include <linux/slab.h> | ||
42 | |||
41 | #include "ehca_tools.h" | 43 | #include "ehca_tools.h" |
42 | #include "ehca_iverbs.h" | 44 | #include "ehca_iverbs.h" |
43 | 45 | ||
diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/ehca/ehca_qp.c index b105f664d3ef..47d388ec1cde 100644 --- a/drivers/infiniband/hw/ehca/ehca_qp.c +++ b/drivers/infiniband/hw/ehca/ehca_qp.c | |||
@@ -43,6 +43,8 @@ | |||
43 | * POSSIBILITY OF SUCH DAMAGE. | 43 | * POSSIBILITY OF SUCH DAMAGE. |
44 | */ | 44 | */ |
45 | 45 | ||
46 | #include <linux/slab.h> | ||
47 | |||
46 | #include "ehca_classes.h" | 48 | #include "ehca_classes.h" |
47 | #include "ehca_tools.h" | 49 | #include "ehca_tools.h" |
48 | #include "ehca_qes.h" | 50 | #include "ehca_qes.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_uverbs.c b/drivers/infiniband/hw/ehca/ehca_uverbs.c index f1565cae8ec6..45ee89b65c23 100644 --- a/drivers/infiniband/hw/ehca/ehca_uverbs.c +++ b/drivers/infiniband/hw/ehca/ehca_uverbs.c | |||
@@ -40,6 +40,8 @@ | |||
40 | * POSSIBILITY OF SUCH DAMAGE. | 40 | * POSSIBILITY OF SUCH DAMAGE. |
41 | */ | 41 | */ |
42 | 42 | ||
43 | #include <linux/slab.h> | ||
44 | |||
43 | #include "ehca_classes.h" | 45 | #include "ehca_classes.h" |
44 | #include "ehca_iverbs.h" | 46 | #include "ehca_iverbs.h" |
45 | #include "ehca_mrmw.h" | 47 | #include "ehca_mrmw.h" |
diff --git a/drivers/infiniband/hw/ehca/ipz_pt_fn.c b/drivers/infiniband/hw/ehca/ipz_pt_fn.c index 1227c593627a..1596e3085344 100644 --- a/drivers/infiniband/hw/ehca/ipz_pt_fn.c +++ b/drivers/infiniband/hw/ehca/ipz_pt_fn.c | |||
@@ -38,6 +38,8 @@ | |||
38 | * POSSIBILITY OF SUCH DAMAGE. | 38 | * POSSIBILITY OF SUCH DAMAGE. |
39 | */ | 39 | */ |
40 | 40 | ||
41 | #include <linux/slab.h> | ||
42 | |||
41 | #include "ehca_tools.h" | 43 | #include "ehca_tools.h" |
42 | #include "ipz_pt_fn.h" | 44 | #include "ipz_pt_fn.h" |
43 | #include "ehca_classes.h" | 45 | #include "ehca_classes.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_cq.c b/drivers/infiniband/hw/ipath/ipath_cq.c index d385e4168c97..0416c6c0e126 100644 --- a/drivers/infiniband/hw/ipath/ipath_cq.c +++ b/drivers/infiniband/hw/ipath/ipath_cq.c | |||
@@ -32,6 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/err.h> | 34 | #include <linux/err.h> |
35 | #include <linux/slab.h> | ||
35 | #include <linux/vmalloc.h> | 36 | #include <linux/vmalloc.h> |
36 | 37 | ||
37 | #include "ipath_verbs.h" | 38 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_dma.c b/drivers/infiniband/hw/ipath/ipath_dma.c index e90a0ea538a0..644c2c74e054 100644 --- a/drivers/infiniband/hw/ipath/ipath_dma.c +++ b/drivers/infiniband/hw/ipath/ipath_dma.c | |||
@@ -31,6 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | 32 | ||
33 | #include <linux/scatterlist.h> | 33 | #include <linux/scatterlist.h> |
34 | #include <linux/gfp.h> | ||
34 | #include <rdma/ib_verbs.h> | 35 | #include <rdma/ib_verbs.h> |
35 | 36 | ||
36 | #include "ipath_verbs.h" | 37 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c index d2787fe80304..6302626d17f0 100644 --- a/drivers/infiniband/hw/ipath/ipath_driver.c +++ b/drivers/infiniband/hw/ipath/ipath_driver.c | |||
@@ -40,6 +40,7 @@ | |||
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 | #include <linux/bitmap.h> |
43 | #include <linux/slab.h> | ||
43 | 44 | ||
44 | #include "ipath_kernel.h" | 45 | #include "ipath_kernel.h" |
45 | #include "ipath_verbs.h" | 46 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_file_ops.c b/drivers/infiniband/hw/ipath/ipath_file_ops.c index 73933a41ce84..9c5c66d16a23 100644 --- a/drivers/infiniband/hw/ipath/ipath_file_ops.c +++ b/drivers/infiniband/hw/ipath/ipath_file_ops.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <linux/cdev.h> | 36 | #include <linux/cdev.h> |
37 | #include <linux/swap.h> | 37 | #include <linux/swap.h> |
38 | #include <linux/vmalloc.h> | 38 | #include <linux/vmalloc.h> |
39 | #include <linux/slab.h> | ||
39 | #include <linux/highmem.h> | 40 | #include <linux/highmem.h> |
40 | #include <linux/io.h> | 41 | #include <linux/io.h> |
41 | #include <linux/jiffies.h> | 42 | #include <linux/jiffies.h> |
diff --git a/drivers/infiniband/hw/ipath/ipath_fs.c b/drivers/infiniband/hw/ipath/ipath_fs.c index 100da8542bba..2fca70836dae 100644 --- a/drivers/infiniband/hw/ipath/ipath_fs.c +++ b/drivers/infiniband/hw/ipath/ipath_fs.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/pagemap.h> | 37 | #include <linux/pagemap.h> |
38 | #include <linux/init.h> | 38 | #include <linux/init.h> |
39 | #include <linux/namei.h> | 39 | #include <linux/namei.h> |
40 | #include <linux/slab.h> | ||
40 | 41 | ||
41 | #include "ipath_kernel.h" | 42 | #include "ipath_kernel.h" |
42 | 43 | ||
diff --git a/drivers/infiniband/hw/ipath/ipath_init_chip.c b/drivers/infiniband/hw/ipath/ipath_init_chip.c index 077879c0bdb5..776938299e4c 100644 --- a/drivers/infiniband/hw/ipath/ipath_init_chip.c +++ b/drivers/infiniband/hw/ipath/ipath_init_chip.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/pci.h> | 34 | #include <linux/pci.h> |
35 | #include <linux/netdevice.h> | 35 | #include <linux/netdevice.h> |
36 | #include <linux/slab.h> | ||
36 | #include <linux/vmalloc.h> | 37 | #include <linux/vmalloc.h> |
37 | 38 | ||
38 | #include "ipath_kernel.h" | 39 | #include "ipath_kernel.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_mmap.c b/drivers/infiniband/hw/ipath/ipath_mmap.c index b28865faf435..e73274229404 100644 --- a/drivers/infiniband/hw/ipath/ipath_mmap.c +++ b/drivers/infiniband/hw/ipath/ipath_mmap.c | |||
@@ -32,6 +32,7 @@ | |||
32 | 32 | ||
33 | #include <linux/module.h> | 33 | #include <linux/module.h> |
34 | #include <linux/vmalloc.h> | 34 | #include <linux/vmalloc.h> |
35 | #include <linux/slab.h> | ||
35 | #include <linux/mm.h> | 36 | #include <linux/mm.h> |
36 | #include <linux/errno.h> | 37 | #include <linux/errno.h> |
37 | #include <asm/pgtable.h> | 38 | #include <asm/pgtable.h> |
diff --git a/drivers/infiniband/hw/ipath/ipath_mr.c b/drivers/infiniband/hw/ipath/ipath_mr.c index 9d343b7c2f3b..e346d3890a0e 100644 --- a/drivers/infiniband/hw/ipath/ipath_mr.c +++ b/drivers/infiniband/hw/ipath/ipath_mr.c | |||
@@ -31,6 +31,8 @@ | |||
31 | * SOFTWARE. | 31 | * SOFTWARE. |
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/slab.h> | ||
35 | |||
34 | #include <rdma/ib_umem.h> | 36 | #include <rdma/ib_umem.h> |
35 | #include <rdma/ib_pack.h> | 37 | #include <rdma/ib_pack.h> |
36 | #include <rdma/ib_smi.h> | 38 | #include <rdma/ib_smi.h> |
diff --git a/drivers/infiniband/hw/ipath/ipath_qp.c b/drivers/infiniband/hw/ipath/ipath_qp.c index cb2d3ef2ae12..0857a9c3cd3d 100644 --- a/drivers/infiniband/hw/ipath/ipath_qp.c +++ b/drivers/infiniband/hw/ipath/ipath_qp.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/err.h> | 34 | #include <linux/err.h> |
35 | #include <linux/sched.h> | 35 | #include <linux/sched.h> |
36 | #include <linux/slab.h> | ||
36 | #include <linux/vmalloc.h> | 37 | #include <linux/vmalloc.h> |
37 | 38 | ||
38 | #include "ipath_verbs.h" | 39 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_sdma.c b/drivers/infiniband/hw/ipath/ipath_sdma.c index 4b0698590850..98ac18ec977e 100644 --- a/drivers/infiniband/hw/ipath/ipath_sdma.c +++ b/drivers/infiniband/hw/ipath/ipath_sdma.c | |||
@@ -31,6 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | 32 | ||
33 | #include <linux/spinlock.h> | 33 | #include <linux/spinlock.h> |
34 | #include <linux/gfp.h> | ||
34 | 35 | ||
35 | #include "ipath_kernel.h" | 36 | #include "ipath_kernel.h" |
36 | #include "ipath_verbs.h" | 37 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_srq.c b/drivers/infiniband/hw/ipath/ipath_srq.c index e3d80ca84c1a..386e2c717c53 100644 --- a/drivers/infiniband/hw/ipath/ipath_srq.c +++ b/drivers/infiniband/hw/ipath/ipath_srq.c | |||
@@ -32,6 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/err.h> | 34 | #include <linux/err.h> |
35 | #include <linux/slab.h> | ||
35 | #include <linux/vmalloc.h> | 36 | #include <linux/vmalloc.h> |
36 | 37 | ||
37 | #include "ipath_verbs.h" | 38 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_user_pages.c b/drivers/infiniband/hw/ipath/ipath_user_pages.c index eb7d59abd12d..5e86d73eba2a 100644 --- a/drivers/infiniband/hw/ipath/ipath_user_pages.c +++ b/drivers/infiniband/hw/ipath/ipath_user_pages.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/mm.h> | 34 | #include <linux/mm.h> |
35 | #include <linux/device.h> | 35 | #include <linux/device.h> |
36 | #include <linux/slab.h> | ||
36 | #include <linux/sched.h> | 37 | #include <linux/sched.h> |
37 | 38 | ||
38 | #include "ipath_kernel.h" | 39 | #include "ipath_kernel.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs.c b/drivers/infiniband/hw/ipath/ipath_verbs.c index 9289ab4b0ae8..559f39be0dcc 100644 --- a/drivers/infiniband/hw/ipath/ipath_verbs.c +++ b/drivers/infiniband/hw/ipath/ipath_verbs.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <rdma/ib_mad.h> | 34 | #include <rdma/ib_mad.h> |
35 | #include <rdma/ib_user_verbs.h> | 35 | #include <rdma/ib_user_verbs.h> |
36 | #include <linux/io.h> | 36 | #include <linux/io.h> |
37 | #include <linux/slab.h> | ||
37 | #include <linux/utsname.h> | 38 | #include <linux/utsname.h> |
38 | #include <linux/rculist.h> | 39 | #include <linux/rculist.h> |
39 | 40 | ||
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs_mcast.c b/drivers/infiniband/hw/ipath/ipath_verbs_mcast.c index 6923e1d986da..6216ea923853 100644 --- a/drivers/infiniband/hw/ipath/ipath_verbs_mcast.c +++ b/drivers/infiniband/hw/ipath/ipath_verbs_mcast.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/rculist.h> | 34 | #include <linux/rculist.h> |
35 | #include <linux/sched.h> | 35 | #include <linux/sched.h> |
36 | #include <linux/slab.h> | ||
36 | 37 | ||
37 | #include "ipath_verbs.h" | 38 | #include "ipath_verbs.h" |
38 | 39 | ||
diff --git a/drivers/infiniband/hw/mlx4/ah.c b/drivers/infiniband/hw/mlx4/ah.c index c75ac9463e20..11a236f8d884 100644 --- a/drivers/infiniband/hw/mlx4/ah.c +++ b/drivers/infiniband/hw/mlx4/ah.c | |||
@@ -30,6 +30,8 @@ | |||
30 | * SOFTWARE. | 30 | * SOFTWARE. |
31 | */ | 31 | */ |
32 | 32 | ||
33 | #include <linux/slab.h> | ||
34 | |||
33 | #include "mlx4_ib.h" | 35 | #include "mlx4_ib.h" |
34 | 36 | ||
35 | struct ib_ah *mlx4_ib_create_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr) | 37 | struct ib_ah *mlx4_ib_create_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr) |
diff --git a/drivers/infiniband/hw/mlx4/cq.c b/drivers/infiniband/hw/mlx4/cq.c index de5263beab4a..cc2ddd29ac57 100644 --- a/drivers/infiniband/hw/mlx4/cq.c +++ b/drivers/infiniband/hw/mlx4/cq.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/mlx4/cq.h> | 34 | #include <linux/mlx4/cq.h> |
35 | #include <linux/mlx4/qp.h> | 35 | #include <linux/mlx4/qp.h> |
36 | #include <linux/slab.h> | ||
36 | 37 | ||
37 | #include "mlx4_ib.h" | 38 | #include "mlx4_ib.h" |
38 | #include "user.h" | 39 | #include "user.h" |
diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c index 19e68ab66168..f38d5b118927 100644 --- a/drivers/infiniband/hw/mlx4/mad.c +++ b/drivers/infiniband/hw/mlx4/mad.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <rdma/ib_smi.h> | 34 | #include <rdma/ib_smi.h> |
35 | 35 | ||
36 | #include <linux/mlx4/cmd.h> | 36 | #include <linux/mlx4/cmd.h> |
37 | #include <linux/gfp.h> | ||
37 | 38 | ||
38 | #include "mlx4_ib.h" | 39 | #include "mlx4_ib.h" |
39 | 40 | ||
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index e596537ff353..01f2a3f93355 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/module.h> | 34 | #include <linux/module.h> |
35 | #include <linux/init.h> | 35 | #include <linux/init.h> |
36 | #include <linux/slab.h> | ||
36 | #include <linux/errno.h> | 37 | #include <linux/errno.h> |
37 | 38 | ||
38 | #include <rdma/ib_smi.h> | 39 | #include <rdma/ib_smi.h> |
diff --git a/drivers/infiniband/hw/mlx4/mr.c b/drivers/infiniband/hw/mlx4/mr.c index 8f3666b20ea4..1d27b9a8e2d6 100644 --- a/drivers/infiniband/hw/mlx4/mr.c +++ b/drivers/infiniband/hw/mlx4/mr.c | |||
@@ -31,6 +31,8 @@ | |||
31 | * SOFTWARE. | 31 | * SOFTWARE. |
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/slab.h> | ||
35 | |||
34 | #include "mlx4_ib.h" | 36 | #include "mlx4_ib.h" |
35 | 37 | ||
36 | static u32 convert_access(int acc) | 38 | static u32 convert_access(int acc) |
@@ -238,7 +240,7 @@ struct ib_fast_reg_page_list *mlx4_ib_alloc_fast_reg_page_list(struct ib_device | |||
238 | mfrpl->mapped_page_list = dma_alloc_coherent(&dev->dev->pdev->dev, | 240 | mfrpl->mapped_page_list = dma_alloc_coherent(&dev->dev->pdev->dev, |
239 | size, &mfrpl->map, | 241 | size, &mfrpl->map, |
240 | GFP_KERNEL); | 242 | GFP_KERNEL); |
241 | if (!mfrpl->ibfrpl.page_list) | 243 | if (!mfrpl->mapped_page_list) |
242 | goto err_free; | 244 | goto err_free; |
243 | 245 | ||
244 | WARN_ON(mfrpl->map & 0x3f); | 246 | WARN_ON(mfrpl->map & 0x3f); |
diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c index ae75389937d6..5643f4a8ffef 100644 --- a/drivers/infiniband/hw/mlx4/qp.c +++ b/drivers/infiniband/hw/mlx4/qp.c | |||
@@ -32,6 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/log2.h> | 34 | #include <linux/log2.h> |
35 | #include <linux/slab.h> | ||
35 | 36 | ||
36 | #include <rdma/ib_cache.h> | 37 | #include <rdma/ib_cache.h> |
37 | #include <rdma/ib_pack.h> | 38 | #include <rdma/ib_pack.h> |
diff --git a/drivers/infiniband/hw/mlx4/srq.c b/drivers/infiniband/hw/mlx4/srq.c index cf8085bcbd6d..818b7ecace5e 100644 --- a/drivers/infiniband/hw/mlx4/srq.c +++ b/drivers/infiniband/hw/mlx4/srq.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/mlx4/qp.h> | 34 | #include <linux/mlx4/qp.h> |
35 | #include <linux/mlx4/srq.h> | 35 | #include <linux/mlx4/srq.h> |
36 | #include <linux/slab.h> | ||
36 | 37 | ||
37 | #include "mlx4_ib.h" | 38 | #include "mlx4_ib.h" |
38 | #include "user.h" | 39 | #include "user.h" |
diff --git a/drivers/infiniband/hw/mthca/mthca_cmd.c b/drivers/infiniband/hw/mthca/mthca_cmd.c index 8c2ed994d540..3603ae89b606 100644 --- a/drivers/infiniband/hw/mthca/mthca_cmd.c +++ b/drivers/infiniband/hw/mthca/mthca_cmd.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <linux/pci.h> | 36 | #include <linux/pci.h> |
37 | #include <linux/errno.h> | 37 | #include <linux/errno.h> |
38 | #include <linux/sched.h> | 38 | #include <linux/sched.h> |
39 | #include <linux/slab.h> | ||
39 | #include <asm/io.h> | 40 | #include <asm/io.h> |
40 | #include <rdma/ib_mad.h> | 41 | #include <rdma/ib_mad.h> |
41 | 42 | ||
diff --git a/drivers/infiniband/hw/mthca/mthca_cq.c b/drivers/infiniband/hw/mthca/mthca_cq.c index d9f4735c2b37..18ee3fa4b88c 100644 --- a/drivers/infiniband/hw/mthca/mthca_cq.c +++ b/drivers/infiniband/hw/mthca/mthca_cq.c | |||
@@ -34,6 +34,7 @@ | |||
34 | * SOFTWARE. | 34 | * SOFTWARE. |
35 | */ | 35 | */ |
36 | 36 | ||
37 | #include <linux/gfp.h> | ||
37 | #include <linux/hardirq.h> | 38 | #include <linux/hardirq.h> |
38 | #include <linux/sched.h> | 39 | #include <linux/sched.h> |
39 | 40 | ||
diff --git a/drivers/infiniband/hw/mthca/mthca_eq.c b/drivers/infiniband/hw/mthca/mthca_eq.c index 8c31fa36e95e..9388164b6053 100644 --- a/drivers/infiniband/hw/mthca/mthca_eq.c +++ b/drivers/infiniband/hw/mthca/mthca_eq.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/errno.h> | 34 | #include <linux/errno.h> |
35 | #include <linux/interrupt.h> | 35 | #include <linux/interrupt.h> |
36 | #include <linux/pci.h> | 36 | #include <linux/pci.h> |
37 | #include <linux/slab.h> | ||
37 | 38 | ||
38 | #include "mthca_dev.h" | 39 | #include "mthca_dev.h" |
39 | #include "mthca_cmd.h" | 40 | #include "mthca_cmd.h" |
diff --git a/drivers/infiniband/hw/mthca/mthca_main.c b/drivers/infiniband/hw/mthca/mthca_main.c index b01b28987874..5eee6665919a 100644 --- a/drivers/infiniband/hw/mthca/mthca_main.c +++ b/drivers/infiniband/hw/mthca/mthca_main.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/errno.h> | 37 | #include <linux/errno.h> |
38 | #include <linux/pci.h> | 38 | #include <linux/pci.h> |
39 | #include <linux/interrupt.h> | 39 | #include <linux/interrupt.h> |
40 | #include <linux/gfp.h> | ||
40 | 41 | ||
41 | #include "mthca_dev.h" | 42 | #include "mthca_dev.h" |
42 | #include "mthca_config_reg.h" | 43 | #include "mthca_config_reg.h" |
diff --git a/drivers/infiniband/hw/mthca/mthca_mcg.c b/drivers/infiniband/hw/mthca/mthca_mcg.c index d4c81053e439..515790a606e6 100644 --- a/drivers/infiniband/hw/mthca/mthca_mcg.c +++ b/drivers/infiniband/hw/mthca/mthca_mcg.c | |||
@@ -31,7 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | 32 | ||
33 | #include <linux/string.h> | 33 | #include <linux/string.h> |
34 | #include <linux/slab.h> | 34 | #include <linux/gfp.h> |
35 | 35 | ||
36 | #include "mthca_dev.h" | 36 | #include "mthca_dev.h" |
37 | #include "mthca_cmd.h" | 37 | #include "mthca_cmd.h" |
diff --git a/drivers/infiniband/hw/mthca/mthca_memfree.c b/drivers/infiniband/hw/mthca/mthca_memfree.c index 1f7d1a29d2a8..8c2a83732b5d 100644 --- a/drivers/infiniband/hw/mthca/mthca_memfree.c +++ b/drivers/infiniband/hw/mthca/mthca_memfree.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/mm.h> | 35 | #include <linux/mm.h> |
36 | #include <linux/scatterlist.h> | 36 | #include <linux/scatterlist.h> |
37 | #include <linux/sched.h> | 37 | #include <linux/sched.h> |
38 | #include <linux/slab.h> | ||
38 | 39 | ||
39 | #include <asm/page.h> | 40 | #include <asm/page.h> |
40 | 41 | ||
diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c index bcf7a4014820..f080a784bc79 100644 --- a/drivers/infiniband/hw/mthca/mthca_provider.c +++ b/drivers/infiniband/hw/mthca/mthca_provider.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <rdma/ib_user_verbs.h> | 39 | #include <rdma/ib_user_verbs.h> |
40 | 40 | ||
41 | #include <linux/sched.h> | 41 | #include <linux/sched.h> |
42 | #include <linux/slab.h> | ||
42 | #include <linux/mm.h> | 43 | #include <linux/mm.h> |
43 | 44 | ||
44 | #include "mthca_dev.h" | 45 | #include "mthca_dev.h" |
diff --git a/drivers/infiniband/hw/nes/nes.c b/drivers/infiniband/hw/nes/nes.c index 4272c52e38a4..de7b9d7166f3 100644 --- a/drivers/infiniband/hw/nes/nes.c +++ b/drivers/infiniband/hw/nes/nes.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <linux/init.h> | 44 | #include <linux/init.h> |
45 | #include <linux/if_arp.h> | 45 | #include <linux/if_arp.h> |
46 | #include <linux/highmem.h> | 46 | #include <linux/highmem.h> |
47 | #include <linux/slab.h> | ||
47 | #include <asm/io.h> | 48 | #include <asm/io.h> |
48 | #include <asm/irq.h> | 49 | #include <asm/irq.h> |
49 | #include <asm/byteorder.h> | 50 | #include <asm/byteorder.h> |
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c index 2a49ee40b520..986d6f32dded 100644 --- a/drivers/infiniband/hw/nes/nes_cm.c +++ b/drivers/infiniband/hw/nes/nes_cm.c | |||
@@ -53,6 +53,7 @@ | |||
53 | #include <linux/list.h> | 53 | #include <linux/list.h> |
54 | #include <linux/threads.h> | 54 | #include <linux/threads.h> |
55 | #include <linux/highmem.h> | 55 | #include <linux/highmem.h> |
56 | #include <linux/slab.h> | ||
56 | #include <net/arp.h> | 57 | #include <net/arp.h> |
57 | #include <net/neighbour.h> | 58 | #include <net/neighbour.h> |
58 | #include <net/route.h> | 59 | #include <net/route.h> |
diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c index ce7f53833577..c36a3f514929 100644 --- a/drivers/infiniband/hw/nes/nes_hw.c +++ b/drivers/infiniband/hw/nes/nes_hw.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/tcp.h> | 39 | #include <linux/tcp.h> |
40 | #include <linux/if_vlan.h> | 40 | #include <linux/if_vlan.h> |
41 | #include <linux/inet_lro.h> | 41 | #include <linux/inet_lro.h> |
42 | #include <linux/slab.h> | ||
42 | 43 | ||
43 | #include "nes.h" | 44 | #include "nes.h" |
44 | 45 | ||
@@ -1899,9 +1900,14 @@ void nes_destroy_nic_qp(struct nes_vnic *nesvnic) | |||
1899 | u16 wqe_fragment_index; | 1900 | u16 wqe_fragment_index; |
1900 | u64 wqe_frag; | 1901 | u64 wqe_frag; |
1901 | u32 cqp_head; | 1902 | u32 cqp_head; |
1903 | u32 wqm_cfg0; | ||
1902 | unsigned long flags; | 1904 | unsigned long flags; |
1903 | int ret; | 1905 | int ret; |
1904 | 1906 | ||
1907 | /* clear wqe stall before destroying NIC QP */ | ||
1908 | wqm_cfg0 = nes_read_indexed(nesdev, NES_IDX_WQM_CONFIG0); | ||
1909 | nes_write_indexed(nesdev, NES_IDX_WQM_CONFIG0, wqm_cfg0 & 0xFFFF7FFF); | ||
1910 | |||
1905 | /* Free remaining NIC receive buffers */ | 1911 | /* Free remaining NIC receive buffers */ |
1906 | while (nesvnic->nic.rq_head != nesvnic->nic.rq_tail) { | 1912 | while (nesvnic->nic.rq_head != nesvnic->nic.rq_tail) { |
1907 | nic_rqe = &nesvnic->nic.rq_vbase[nesvnic->nic.rq_tail]; | 1913 | nic_rqe = &nesvnic->nic.rq_vbase[nesvnic->nic.rq_tail]; |
@@ -2020,6 +2026,9 @@ void nes_destroy_nic_qp(struct nes_vnic *nesvnic) | |||
2020 | 2026 | ||
2021 | pci_free_consistent(nesdev->pcidev, nesvnic->nic_mem_size, nesvnic->nic_vbase, | 2027 | pci_free_consistent(nesdev->pcidev, nesvnic->nic_mem_size, nesvnic->nic_vbase, |
2022 | nesvnic->nic_pbase); | 2028 | nesvnic->nic_pbase); |
2029 | |||
2030 | /* restore old wqm_cfg0 value */ | ||
2031 | nes_write_indexed(nesdev, NES_IDX_WQM_CONFIG0, wqm_cfg0); | ||
2023 | } | 2032 | } |
2024 | 2033 | ||
2025 | /** | 2034 | /** |
diff --git a/drivers/infiniband/hw/nes/nes_hw.h b/drivers/infiniband/hw/nes/nes_hw.h index 9b1e7f869d83..bbbfe9fc5a5a 100644 --- a/drivers/infiniband/hw/nes/nes_hw.h +++ b/drivers/infiniband/hw/nes/nes_hw.h | |||
@@ -160,6 +160,7 @@ enum indexed_regs { | |||
160 | NES_IDX_ENDNODE0_NSTAT_TX_OCTETS_HI = 0x7004, | 160 | NES_IDX_ENDNODE0_NSTAT_TX_OCTETS_HI = 0x7004, |
161 | NES_IDX_ENDNODE0_NSTAT_TX_FRAMES_LO = 0x7008, | 161 | NES_IDX_ENDNODE0_NSTAT_TX_FRAMES_LO = 0x7008, |
162 | NES_IDX_ENDNODE0_NSTAT_TX_FRAMES_HI = 0x700c, | 162 | NES_IDX_ENDNODE0_NSTAT_TX_FRAMES_HI = 0x700c, |
163 | NES_IDX_WQM_CONFIG0 = 0x5000, | ||
163 | NES_IDX_WQM_CONFIG1 = 0x5004, | 164 | NES_IDX_WQM_CONFIG1 = 0x5004, |
164 | NES_IDX_CM_CONFIG = 0x5100, | 165 | NES_IDX_CM_CONFIG = 0x5100, |
165 | NES_IDX_NIC_LOGPORT_TO_PHYPORT = 0x6000, | 166 | NES_IDX_NIC_LOGPORT_TO_PHYPORT = 0x6000, |
diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c index a1d79b6856ac..b7c813f4be43 100644 --- a/drivers/infiniband/hw/nes/nes_nic.c +++ b/drivers/infiniband/hw/nes/nes_nic.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <linux/if_arp.h> | 40 | #include <linux/if_arp.h> |
41 | #include <linux/if_vlan.h> | 41 | #include <linux/if_vlan.h> |
42 | #include <linux/ethtool.h> | 42 | #include <linux/ethtool.h> |
43 | #include <linux/slab.h> | ||
43 | #include <net/tcp.h> | 44 | #include <net/tcp.h> |
44 | 45 | ||
45 | #include <net/inet_common.h> | 46 | #include <net/inet_common.h> |
@@ -1595,7 +1596,6 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, | |||
1595 | struct nes_vnic *nesvnic; | 1596 | struct nes_vnic *nesvnic; |
1596 | struct net_device *netdev; | 1597 | struct net_device *netdev; |
1597 | struct nic_qp_map *curr_qp_map; | 1598 | struct nic_qp_map *curr_qp_map; |
1598 | u32 u32temp; | ||
1599 | u8 phy_type = nesdev->nesadapter->phy_type[nesdev->mac_index]; | 1599 | u8 phy_type = nesdev->nesadapter->phy_type[nesdev->mac_index]; |
1600 | 1600 | ||
1601 | netdev = alloc_etherdev(sizeof(struct nes_vnic)); | 1601 | netdev = alloc_etherdev(sizeof(struct nes_vnic)); |
@@ -1707,6 +1707,10 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, | |||
1707 | ((phy_type == NES_PHY_TYPE_PUMA_1G) && | 1707 | ((phy_type == NES_PHY_TYPE_PUMA_1G) && |
1708 | (((PCI_FUNC(nesdev->pcidev->devfn) == 1) && (nesdev->mac_index == 2)) || | 1708 | (((PCI_FUNC(nesdev->pcidev->devfn) == 1) && (nesdev->mac_index == 2)) || |
1709 | ((PCI_FUNC(nesdev->pcidev->devfn) == 2) && (nesdev->mac_index == 1)))))) { | 1709 | ((PCI_FUNC(nesdev->pcidev->devfn) == 2) && (nesdev->mac_index == 1)))))) { |
1710 | u32 u32temp; | ||
1711 | u32 link_mask; | ||
1712 | u32 link_val; | ||
1713 | |||
1710 | u32temp = nes_read_indexed(nesdev, NES_IDX_PHY_PCS_CONTROL_STATUS0 + | 1714 | u32temp = nes_read_indexed(nesdev, NES_IDX_PHY_PCS_CONTROL_STATUS0 + |
1711 | (0x200 * (nesdev->mac_index & 1))); | 1715 | (0x200 * (nesdev->mac_index & 1))); |
1712 | if (phy_type != NES_PHY_TYPE_PUMA_1G) { | 1716 | if (phy_type != NES_PHY_TYPE_PUMA_1G) { |
@@ -1715,13 +1719,36 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, | |||
1715 | (0x200 * (nesdev->mac_index & 1)), u32temp); | 1719 | (0x200 * (nesdev->mac_index & 1)), u32temp); |
1716 | } | 1720 | } |
1717 | 1721 | ||
1722 | /* Check and set linkup here. This is for back to back */ | ||
1723 | /* configuration where second port won't get link interrupt */ | ||
1724 | switch (phy_type) { | ||
1725 | case NES_PHY_TYPE_PUMA_1G: | ||
1726 | if (nesdev->mac_index < 2) { | ||
1727 | link_mask = 0x01010000; | ||
1728 | link_val = 0x01010000; | ||
1729 | } else { | ||
1730 | link_mask = 0x02020000; | ||
1731 | link_val = 0x02020000; | ||
1732 | } | ||
1733 | break; | ||
1734 | default: | ||
1735 | link_mask = 0x0f1f0000; | ||
1736 | link_val = 0x0f0f0000; | ||
1737 | break; | ||
1738 | } | ||
1739 | |||
1740 | u32temp = nes_read_indexed(nesdev, | ||
1741 | NES_IDX_PHY_PCS_CONTROL_STATUS0 + | ||
1742 | (0x200 * (nesdev->mac_index & 1))); | ||
1743 | if ((u32temp & link_mask) == link_val) | ||
1744 | nesvnic->linkup = 1; | ||
1745 | |||
1718 | /* clear the MAC interrupt status, assumes direct logical to physical mapping */ | 1746 | /* clear the MAC interrupt status, assumes direct logical to physical mapping */ |
1719 | u32temp = nes_read_indexed(nesdev, NES_IDX_MAC_INT_STATUS + (0x200 * nesdev->mac_index)); | 1747 | u32temp = nes_read_indexed(nesdev, NES_IDX_MAC_INT_STATUS + (0x200 * nesdev->mac_index)); |
1720 | nes_debug(NES_DBG_INIT, "Phy interrupt status = 0x%X.\n", u32temp); | 1748 | nes_debug(NES_DBG_INIT, "Phy interrupt status = 0x%X.\n", u32temp); |
1721 | nes_write_indexed(nesdev, NES_IDX_MAC_INT_STATUS + (0x200 * nesdev->mac_index), u32temp); | 1749 | nes_write_indexed(nesdev, NES_IDX_MAC_INT_STATUS + (0x200 * nesdev->mac_index), u32temp); |
1722 | 1750 | ||
1723 | nes_init_phy(nesdev); | 1751 | nes_init_phy(nesdev); |
1724 | |||
1725 | } | 1752 | } |
1726 | 1753 | ||
1727 | return netdev; | 1754 | return netdev; |
diff --git a/drivers/infiniband/hw/nes/nes_utils.c b/drivers/infiniband/hw/nes/nes_utils.c index 729d525c5b70..186623d86959 100644 --- a/drivers/infiniband/hw/nes/nes_utils.c +++ b/drivers/infiniband/hw/nes/nes_utils.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/ethtool.h> | 38 | #include <linux/ethtool.h> |
39 | #include <linux/mii.h> | 39 | #include <linux/mii.h> |
40 | #include <linux/if_vlan.h> | 40 | #include <linux/if_vlan.h> |
41 | #include <linux/slab.h> | ||
41 | #include <linux/crc32.h> | 42 | #include <linux/crc32.h> |
42 | #include <linux/in.h> | 43 | #include <linux/in.h> |
43 | #include <linux/ip.h> | 44 | #include <linux/ip.h> |
diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c index 815725f886c4..e54f312e4bdc 100644 --- a/drivers/infiniband/hw/nes/nes_verbs.c +++ b/drivers/infiniband/hw/nes/nes_verbs.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/moduleparam.h> | 35 | #include <linux/moduleparam.h> |
36 | #include <linux/random.h> | 36 | #include <linux/random.h> |
37 | #include <linux/highmem.h> | 37 | #include <linux/highmem.h> |
38 | #include <linux/slab.h> | ||
38 | #include <asm/byteorder.h> | 39 | #include <asm/byteorder.h> |
39 | 40 | ||
40 | #include <rdma/ib_verbs.h> | 41 | #include <rdma/ib_verbs.h> |
@@ -1323,6 +1324,7 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd, | |||
1323 | nesqp->nesqp_context->aeq_token_low = cpu_to_le32((u32)((unsigned long)(nesqp))); | 1324 | nesqp->nesqp_context->aeq_token_low = cpu_to_le32((u32)((unsigned long)(nesqp))); |
1324 | nesqp->nesqp_context->aeq_token_high = cpu_to_le32((u32)(upper_32_bits((unsigned long)(nesqp)))); | 1325 | nesqp->nesqp_context->aeq_token_high = cpu_to_le32((u32)(upper_32_bits((unsigned long)(nesqp)))); |
1325 | nesqp->nesqp_context->ird_ord_sizes = cpu_to_le32(NES_QPCONTEXT_ORDIRD_ALSMM | | 1326 | nesqp->nesqp_context->ird_ord_sizes = cpu_to_le32(NES_QPCONTEXT_ORDIRD_ALSMM | |
1327 | NES_QPCONTEXT_ORDIRD_AAH | | ||
1326 | ((((u32)nesadapter->max_irrq_wr) << | 1328 | ((((u32)nesadapter->max_irrq_wr) << |
1327 | NES_QPCONTEXT_ORDIRD_IRDSIZE_SHIFT) & NES_QPCONTEXT_ORDIRD_IRDSIZE_MASK)); | 1329 | NES_QPCONTEXT_ORDIRD_IRDSIZE_SHIFT) & NES_QPCONTEXT_ORDIRD_IRDSIZE_MASK)); |
1328 | if (disable_mpa_crc) { | 1330 | if (disable_mpa_crc) { |
@@ -2819,11 +2821,10 @@ static int nes_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, | |||
2819 | attr->cap.max_send_wr = nesqp->hwqp.sq_size; | 2821 | attr->cap.max_send_wr = nesqp->hwqp.sq_size; |
2820 | attr->cap.max_recv_wr = nesqp->hwqp.rq_size; | 2822 | attr->cap.max_recv_wr = nesqp->hwqp.rq_size; |
2821 | attr->cap.max_recv_sge = 1; | 2823 | attr->cap.max_recv_sge = 1; |
2822 | if (nes_drv_opt & NES_DRV_OPT_NO_INLINE_DATA) { | 2824 | if (nes_drv_opt & NES_DRV_OPT_NO_INLINE_DATA) |
2823 | init_attr->cap.max_inline_data = 0; | 2825 | attr->cap.max_inline_data = 0; |
2824 | } else { | 2826 | else |
2825 | init_attr->cap.max_inline_data = 64; | 2827 | attr->cap.max_inline_data = 64; |
2826 | } | ||
2827 | 2828 | ||
2828 | init_attr->event_handler = nesqp->ibqp.event_handler; | 2829 | init_attr->event_handler = nesqp->ibqp.event_handler; |
2829 | init_attr->qp_context = nesqp->ibqp.qp_context; | 2830 | init_attr->qp_context = nesqp->ibqp.qp_context; |
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c index 83a7751c38d6..bb1004114dec 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <net/icmp.h> | 35 | #include <net/icmp.h> |
36 | #include <linux/icmpv6.h> | 36 | #include <linux/icmpv6.h> |
37 | #include <linux/delay.h> | 37 | #include <linux/delay.h> |
38 | #include <linux/slab.h> | ||
38 | #include <linux/vmalloc.h> | 39 | #include <linux/vmalloc.h> |
39 | 40 | ||
40 | #include "ipoib.h" | 41 | #include "ipoib.h" |
@@ -708,6 +709,7 @@ void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_ | |||
708 | struct ipoib_dev_priv *priv = netdev_priv(dev); | 709 | struct ipoib_dev_priv *priv = netdev_priv(dev); |
709 | struct ipoib_cm_tx_buf *tx_req; | 710 | struct ipoib_cm_tx_buf *tx_req; |
710 | u64 addr; | 711 | u64 addr; |
712 | int rc; | ||
711 | 713 | ||
712 | if (unlikely(skb->len > tx->mtu)) { | 714 | if (unlikely(skb->len > tx->mtu)) { |
713 | ipoib_warn(priv, "packet len %d (> %d) too long to send, dropping\n", | 715 | ipoib_warn(priv, "packet len %d (> %d) too long to send, dropping\n", |
@@ -739,9 +741,10 @@ void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_ | |||
739 | 741 | ||
740 | tx_req->mapping = addr; | 742 | tx_req->mapping = addr; |
741 | 743 | ||
742 | if (unlikely(post_send(priv, tx, tx->tx_head & (ipoib_sendq_size - 1), | 744 | rc = post_send(priv, tx, tx->tx_head & (ipoib_sendq_size - 1), |
743 | addr, skb->len))) { | 745 | addr, skb->len); |
744 | ipoib_warn(priv, "post_send failed\n"); | 746 | if (unlikely(rc)) { |
747 | ipoib_warn(priv, "post_send failed, error %d\n", rc); | ||
745 | ++dev->stats.tx_errors; | 748 | ++dev->stats.tx_errors; |
746 | ib_dma_unmap_single(priv->ca, addr, skb->len, DMA_TO_DEVICE); | 749 | ib_dma_unmap_single(priv->ca, addr, skb->len, DMA_TO_DEVICE); |
747 | dev_kfree_skb_any(skb); | 750 | dev_kfree_skb_any(skb); |
@@ -752,6 +755,8 @@ void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_ | |||
752 | if (++priv->tx_outstanding == ipoib_sendq_size) { | 755 | if (++priv->tx_outstanding == ipoib_sendq_size) { |
753 | ipoib_dbg(priv, "TX ring 0x%x full, stopping kernel net queue\n", | 756 | ipoib_dbg(priv, "TX ring 0x%x full, stopping kernel net queue\n", |
754 | tx->qp->qp_num); | 757 | tx->qp->qp_num); |
758 | if (ib_req_notify_cq(priv->send_cq, IB_CQ_NEXT_COMP)) | ||
759 | ipoib_warn(priv, "request notify on send CQ failed\n"); | ||
755 | netif_stop_queue(dev); | 760 | netif_stop_queue(dev); |
756 | } | 761 | } |
757 | } | 762 | } |
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_fs.c b/drivers/infiniband/ulp/ipoib/ipoib_fs.c index 961c585da216..86eae229dc49 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_fs.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_fs.c | |||
@@ -32,6 +32,7 @@ | |||
32 | 32 | ||
33 | #include <linux/err.h> | 33 | #include <linux/err.h> |
34 | #include <linux/seq_file.h> | 34 | #include <linux/seq_file.h> |
35 | #include <linux/slab.h> | ||
35 | 36 | ||
36 | struct file_operations; | 37 | struct file_operations; |
37 | 38 | ||
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/drivers/infiniband/ulp/ipoib/ipoib_ib.c index 8c91d9f37ada..ec6b4fbe25e4 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c | |||
@@ -35,6 +35,7 @@ | |||
35 | 35 | ||
36 | #include <linux/delay.h> | 36 | #include <linux/delay.h> |
37 | #include <linux/dma-mapping.h> | 37 | #include <linux/dma-mapping.h> |
38 | #include <linux/slab.h> | ||
38 | 39 | ||
39 | #include <linux/ip.h> | 40 | #include <linux/ip.h> |
40 | #include <linux/tcp.h> | 41 | #include <linux/tcp.h> |
@@ -529,7 +530,7 @@ void ipoib_send(struct net_device *dev, struct sk_buff *skb, | |||
529 | { | 530 | { |
530 | struct ipoib_dev_priv *priv = netdev_priv(dev); | 531 | struct ipoib_dev_priv *priv = netdev_priv(dev); |
531 | struct ipoib_tx_buf *tx_req; | 532 | struct ipoib_tx_buf *tx_req; |
532 | int hlen; | 533 | int hlen, rc; |
533 | void *phead; | 534 | void *phead; |
534 | 535 | ||
535 | if (skb_is_gso(skb)) { | 536 | if (skb_is_gso(skb)) { |
@@ -585,9 +586,10 @@ void ipoib_send(struct net_device *dev, struct sk_buff *skb, | |||
585 | netif_stop_queue(dev); | 586 | netif_stop_queue(dev); |
586 | } | 587 | } |
587 | 588 | ||
588 | if (unlikely(post_send(priv, priv->tx_head & (ipoib_sendq_size - 1), | 589 | rc = post_send(priv, priv->tx_head & (ipoib_sendq_size - 1), |
589 | address->ah, qpn, tx_req, phead, hlen))) { | 590 | address->ah, qpn, tx_req, phead, hlen); |
590 | ipoib_warn(priv, "post_send failed\n"); | 591 | if (unlikely(rc)) { |
592 | ipoib_warn(priv, "post_send failed, error %d\n", rc); | ||
591 | ++dev->stats.tx_errors; | 593 | ++dev->stats.tx_errors; |
592 | --priv->tx_outstanding; | 594 | --priv->tx_outstanding; |
593 | ipoib_dma_unmap_tx(priv->ca, tx_req); | 595 | ipoib_dma_unmap_tx(priv->ca, tx_req); |
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c index d41ea27be5e1..b166bb75753d 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <linux/inetdevice.h> | 40 | #include <linux/inetdevice.h> |
41 | #include <linux/delay.h> | 41 | #include <linux/delay.h> |
42 | #include <linux/completion.h> | 42 | #include <linux/completion.h> |
43 | #include <linux/slab.h> | ||
43 | 44 | ||
44 | #include <net/dst.h> | 45 | #include <net/dst.h> |
45 | 46 | ||
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c index 68325119f740..049a997caff3 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c | |||
@@ -31,6 +31,8 @@ | |||
31 | * SOFTWARE. | 31 | * SOFTWARE. |
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/slab.h> | ||
35 | |||
34 | #include "ipoib.h" | 36 | #include "ipoib.h" |
35 | 37 | ||
36 | int ipoib_mcast_attach(struct net_device *dev, u16 mlid, union ib_gid *mgid, int set_qkey) | 38 | int ipoib_mcast_attach(struct net_device *dev, u16 mlid, union ib_gid *mgid, int set_qkey) |
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c index e3bf00d8cd25..d7e9740c7248 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c | |||
@@ -33,7 +33,6 @@ | |||
33 | #include <linux/module.h> | 33 | #include <linux/module.h> |
34 | 34 | ||
35 | #include <linux/init.h> | 35 | #include <linux/init.h> |
36 | #include <linux/slab.h> | ||
37 | #include <linux/seq_file.h> | 36 | #include <linux/seq_file.h> |
38 | 37 | ||
39 | #include <asm/uaccess.h> | 38 | #include <asm/uaccess.h> |
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c index 71237f8f78f7..93399dff0c6f 100644 --- a/drivers/infiniband/ulp/iser/iscsi_iser.c +++ b/drivers/infiniband/ulp/iser/iscsi_iser.c | |||
@@ -56,6 +56,7 @@ | |||
56 | #include <linux/net.h> | 56 | #include <linux/net.h> |
57 | #include <linux/scatterlist.h> | 57 | #include <linux/scatterlist.h> |
58 | #include <linux/delay.h> | 58 | #include <linux/delay.h> |
59 | #include <linux/slab.h> | ||
59 | 60 | ||
60 | #include <net/sock.h> | 61 | #include <net/sock.h> |
61 | 62 | ||
@@ -613,7 +614,7 @@ static struct scsi_host_template iscsi_iser_sht = { | |||
613 | .cmd_per_lun = ISER_DEF_CMD_PER_LUN, | 614 | .cmd_per_lun = ISER_DEF_CMD_PER_LUN, |
614 | .eh_abort_handler = iscsi_eh_abort, | 615 | .eh_abort_handler = iscsi_eh_abort, |
615 | .eh_device_reset_handler= iscsi_eh_device_reset, | 616 | .eh_device_reset_handler= iscsi_eh_device_reset, |
616 | .eh_target_reset_handler= iscsi_eh_target_reset, | 617 | .eh_target_reset_handler = iscsi_eh_recover_target, |
617 | .target_alloc = iscsi_target_alloc, | 618 | .target_alloc = iscsi_target_alloc, |
618 | .use_clustering = DISABLE_CLUSTERING, | 619 | .use_clustering = DISABLE_CLUSTERING, |
619 | .proc_name = "iscsi_iser", | 620 | .proc_name = "iscsi_iser", |
diff --git a/drivers/infiniband/ulp/iser/iser_verbs.c b/drivers/infiniband/ulp/iser/iser_verbs.c index 308d17bb5146..b89d76b39a13 100644 --- a/drivers/infiniband/ulp/iser/iser_verbs.c +++ b/drivers/infiniband/ulp/iser/iser_verbs.c | |||
@@ -32,6 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | #include <linux/kernel.h> | 33 | #include <linux/kernel.h> |
34 | #include <linux/module.h> | 34 | #include <linux/module.h> |
35 | #include <linux/slab.h> | ||
35 | #include <linux/delay.h> | 36 | #include <linux/delay.h> |
36 | 37 | ||
37 | #include "iscsi_iser.h" | 38 | #include "iscsi_iser.h" |