From: Roland Dreier MTHCA_RESET_VALUE must always be swapped, since the HCA expects to see it in big-endian order and we write it with writel. This means on little-endian systems we have to swap it to big-endian order before writing, and on big-endian systems we need to swap it to make up for the additional swap that writel will do. This fixes resetting the HCA on big-endian machines. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton --- 25-akpm/drivers/infiniband/hw/mthca/mthca_reset.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/infiniband/hw/mthca/mthca_reset.c~ib-mthca-fix-reset-value-endianness drivers/infiniband/hw/mthca/mthca_reset.c --- 25/drivers/infiniband/hw/mthca/mthca_reset.c~ib-mthca-fix-reset-value-endianness 2005-03-02 21:50:37.000000000 -0800 +++ 25-akpm/drivers/infiniband/hw/mthca/mthca_reset.c 2005-03-02 21:50:37.000000000 -0800 @@ -50,7 +50,7 @@ int mthca_reset(struct mthca_dev *mdev) struct pci_dev *bridge = NULL; #define MTHCA_RESET_OFFSET 0xf0010 -#define MTHCA_RESET_VALUE cpu_to_be32(1) +#define MTHCA_RESET_VALUE swab32(1) /* * Reset the chip. This is somewhat ugly because we have to _