X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=drivers%2Finfiniband%2Fcore%2Fdevice.c;h=5ac5ffee05cbbc044c34aecfd6c1f323f719ec6e;hb=334d094504c2fe1c44211ecb49146ae6bca8c321;hp=b583196420140a1d6825ff4ea59dae6771bdafb8;hpb=1af4c435f3ab9cdf72ce86c35a455c8bef1d6536;p=mv-sheeva.git diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c index b5831964201..5ac5ffee05c 100644 --- a/drivers/infiniband/core/device.c +++ b/drivers/infiniband/core/device.c @@ -40,6 +40,7 @@ #include #include #include +#include #include "core_priv.h" @@ -119,12 +120,12 @@ static struct ib_device *__ib_device_get_by_name(const char *name) static int alloc_name(char *name) { - long *inuse; + unsigned long *inuse; char buf[IB_DEVICE_NAME_MAX]; struct ib_device *device; int i; - inuse = (long *) get_zeroed_page(GFP_KERNEL); + inuse = (unsigned long *) get_zeroed_page(GFP_KERNEL); if (!inuse) return -ENOMEM; @@ -701,7 +702,7 @@ int ib_find_pkey(struct ib_device *device, if (ret) return ret; - if (pkey == tmp_pkey) { + if ((pkey & 0x7fff) == (tmp_pkey & 0x7fff)) { *index = i; return 0; }