summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAjit Khaparde <ajitk@serverengines.com>2010-03-11 04:35:59 +0300
committerDavid S. Miller <davem@davemloft.net>2010-03-16 01:46:59 +0300
commitd4a2ac3e802d9f598453a7854d0fdf67371ac2dd (patch)
tree63fba3719134717b53bd1ef1362bda13e7e7e876
parentd4fdcd923daf9d03d2e1b956d66f05c3f2ca4c43 (diff)
downloadlinux-d4a2ac3e802d9f598453a7854d0fdf67371ac2dd.tar.xz
be2net: fix mccq create for big endian architectures
The request to create an mccq was being dispatched without doing a byte swap of num_pages. This byte swap is necessary for Big Endian systems like PPC. Not having this fix leads mccq create to fail on BE ASICs running newer version of firmware, thereby causing driver initialization failure. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/benet/be_cmds.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/benet/be_cmds.c b/drivers/net/benet/be_cmds.c
index c59215361f4e..50e6259b50e4 100644
--- a/drivers/net/benet/be_cmds.c
+++ b/drivers/net/benet/be_cmds.c
@@ -673,7 +673,7 @@ int be_cmd_mccq_create(struct be_adapter *adapter,
be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_COMMON,
OPCODE_COMMON_MCC_CREATE, sizeof(*req));
- req->num_pages = PAGES_4K_SPANNED(q_mem->va, q_mem->size);
+ req->num_pages = cpu_to_le16(PAGES_4K_SPANNED(q_mem->va, q_mem->size));
AMAP_SET_BITS(struct amap_mcc_context, valid, ctxt, 1);
AMAP_SET_BITS(struct amap_mcc_context, ring_size, ctxt,