Hi Vlad, please apply the following backport for OFED-1.5.4.
Signed-off-by: Alexander Schmidt <[email protected]> Index: ofa_kernel-1.5.4/kernel_patches/backport/2.6.32-EL6.1/ehca-010-remove_driver_data.patch =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ ofa_kernel-1.5.4/kernel_patches/backport/2.6.32-EL6.1/ehca-010-remove_driver_data.patch 2011-11-21 18:09:25.000000000 +0100 @@ -0,0 +1,60 @@ +commit f899c2ddd45f2515deb446e2b143e4a686a49aee +Author: Greg Kroah-Hartman <[email protected]> +Date: Mon May 4 12:40:54 2009 -0700 + + infiniband: ehca: remove driver_data direct access of struct device + + In the near future, the driver core is going to not allow direct access + to the driver_data pointer in struct device. Instead, the functions + dev_get_drvdata() and dev_set_drvdata() should be used. These functions + have been around since the beginning, so are backwards compatible with + all older kernel versions. + + Cc: Sean Hefty <[email protected]> + Cc: Roland Dreier <[email protected]> + Cc: Hal Rosenstock <[email protected]> + Cc: [email protected] + Cc: Christoph Raisch <[email protected]> + Acked-by: Hoang-Nam Nguyen <[email protected]> + Signed-off-by: Greg Kroah-Hartman <[email protected]> + +diff --git a/drivers/infiniband/hw/ehca/ehca_main.c b/drivers/infiniband/hw/ehca/ehca_main.c +index 85905ab..ce4e6ef 100644 +--- a/drivers/infiniband/hw/ehca/ehca_main.c ++++ b/drivers/infiniband/hw/ehca/ehca_main.c +@@ -636,7 +636,7 @@ static ssize_t ehca_show_##name(struct device *dev, \ + struct hipz_query_hca *rblock; \ + int data; \ + \ +- shca = dev->driver_data; \ ++ shca = dev_get_drvdata(dev); \ + \ + rblock = ehca_alloc_fw_ctrlblock(GFP_KERNEL); \ + if (!rblock) { \ +@@ -680,7 +680,7 @@ static ssize_t ehca_show_adapter_handle(struct device *dev, + struct device_attribute *attr, + char *buf) + { +- struct ehca_shca *shca = dev->driver_data; ++ struct ehca_shca *shca = dev_get_drvdata(dev); + + return sprintf(buf, "%llx\n", shca->ipz_hca_handle.handle); + +@@ -749,7 +749,7 @@ static int __devinit ehca_probe(struct of_device *dev, + + shca->ofdev = dev; + shca->ipz_hca_handle.handle = *handle; +- dev->dev.driver_data = shca; ++ dev_set_drvdata(&dev->dev, shca); + + ret = ehca_sense_attributes(shca); + if (ret < 0) { +@@ -878,7 +878,7 @@ probe1: + + static int __devexit ehca_remove(struct of_device *dev) + { +- struct ehca_shca *shca = dev->dev.driver_data; ++ struct ehca_shca *shca = dev_get_drvdata(&dev->dev); + unsigned long flags; + int ret; + Index: ofa_kernel-1.5.4/kernel_patches/backport/2.6.32-EL6.1/ehca-020-fix_buswalk.patch =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ ofa_kernel-1.5.4/kernel_patches/backport/2.6.32-EL6.1/ehca-020-fix_buswalk.patch 2011-11-21 18:10:02.000000000 +0100 @@ -0,0 +1,17 @@ +--- + drivers/infiniband/hw/ehca/ehca_mrmw.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: ofa_kernel-1.5.1/drivers/infiniband/hw/ehca/ehca_mrmw.c +=================================================================== +--- ofa_kernel-1.5.1.orig/drivers/infiniband/hw/ehca/ehca_mrmw.c ++++ ofa_kernel-1.5.1/drivers/infiniband/hw/ehca/ehca_mrmw.c +@@ -2463,7 +2463,7 @@ int ehca_create_busmap(void) + int ret; + + ehca_mr_len = 0; +- ret = walk_memory_resource(0, 1ULL << MAX_PHYSMEM_BITS, NULL, ++ ret = walk_system_ram_range(0, 1ULL << MAX_PHYSMEM_BITS, NULL, + ehca_create_busmap_callback); + return ret; + } _______________________________________________ ewg mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
