> Quoting Steve Wise <[EMAIL PROTECTED]>:
> Subject: [PATCH  RFC 16/21] ofed_1_2 Backport infinband/hw/cxgb3/iwch_cm.[ch] 
> to sles9sp3
> 
> 
> Backport infinband/hw/cxgb3/iwch_cm.[ch] to sles9sp3
> 
> Signed-off-by: Steve Wise <[EMAIL PROTECTED]>
> ---
> 
>  .../2.6.5_sles9_sp3/iwch_cm_to_2_6_5-7_244.patch   |   35 
> +++++++++++++++++++++++
>  1 files changed, 35 insertions(+), 0 deletions(-)
> 
> diff --git 
> a/kernel_patches/backport/2.6.5_sles9_sp3/iwch_cm_to_2_6_5-7_244.patch 
> b/kernel_patches/backport/2.6.5_sles9_sp3/iwch_cm_to_2_6_5-7_244.patch
> new file mode 100644
> index 0000000..af468f7
> --- /dev/null
> +++ b/kernel_patches/backport/2.6.5_sles9_sp3/iwch_cm_to_2_6_5-7_244.patch
> @@ -0,0 +1,35 @@
> +diff --git a/drivers/infiniband/hw/cxgb3/iwch_cm.c 
> b/drivers/infiniband/hw/cxgb3/iwch_cm.c
> +index 3237fc8..2a38953 100644
> +--- a/drivers/infiniband/hw/cxgb3/iwch_cm.c
> ++++ b/drivers/infiniband/hw/cxgb3/iwch_cm.c
> +@@ -234,7 +234,7 @@ static void *alloc_ep(int size, gfp_t gf
> +     epc = kmalloc(size, gfp);
> +     if (epc) {
> +             memset(epc, 0, size);
> +-            kref_init(&epc->kref);
> ++            kref_init(&epc->kref, __free_ep);
> +             spin_lock_init(&epc->lock);
> +             init_waitqueue_head(&epc->waitq);
> +     }
> +@@ -338,7 +338,7 @@ static struct rtable *find_route(struct 
> +                       }
> +     };
> + 
> +-    if (ip_route_output_flow(&rt, &fl, NULL, 0))
> ++    if (ip_route_output_key(&rt, &fl))
> +             return NULL;
> +     return rt;
> + }
> +diff --git a/drivers/infiniband/hw/cxgb3/iwch_cm.h 
> b/drivers/infiniband/hw/cxgb3/iwch_cm.h
> +index 893f9d0..e54e202 100644
> +--- a/drivers/infiniband/hw/cxgb3/iwch_cm.h
> ++++ b/drivers/infiniband/hw/cxgb3/iwch_cm.h
> +@@ -57,7 +57,7 @@ #define MPA_FLAGS_MASK             0xE0
> + #define put_ep(ep) { \
> +     PDBG("put_ep (via %s:%u) ep %p refcnt %d\n", __FUNCTION__, __LINE__,  \
> +          ep, atomic_read(&((ep)->kref.refcount))); \
> +-    kref_put(&((ep)->kref), __free_ep); \
> ++    kref_put(&((ep)->kref)); \
> + }
> + 
> + #define get_ep(ep) { \

It's not easy to do something abou t kref_put (we'd need to define our own 
struct
for it, like we did for work_struct).
But surely ip_route_output_key can just be a macro in kernel_addons?

-- 
MST

_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to