This patch fixes the following compile warning: "cast to pointer from integer of different size [-Wint-to-pointer-cast]" in CmHost.c. I am replacing one statement with two. The address of the buffer locations are being taken from user space and stored in three different structures: pstAddIndication->AdmittedSet, pstAddIn dication->ActiveSet, and pstAddIndication->AuthorizedSet. Before reading the address we need to convert it to little endian notation. Therefore, we create a local unsigned long variable, addr_conn_params, and store the results of "ntohl". This value is then cast to a "bcm_connect_mgr_params" structure. Signed-off-by: Kevin McKinney <klmckinney1@xxxxxxxxx> --- drivers/staging/bcm/CmHost.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index 482e595..de012c2 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -1338,6 +1338,7 @@ ULONG StoreCmControlResponseMessage(struct bcm_mini_adapter *Adapter, PVOID pvBu struct bcm_del_request *pstDeletionRequest; UINT uiSearchRuleIndex; ULONG ulSFID; + unsigned long addr_conn_params; pstAddIndicationAlt = (struct bcm_add_indication_alt *)(pvBuffer); @@ -1383,8 +1384,8 @@ ULONG StoreCmControlResponseMessage(struct bcm_mini_adapter *Adapter, PVOID pvBu return 0; } - /* this can't possibly be right */ - pstAddIndication->psfAuthorizedSet = (struct bcm_connect_mgr_params *)ntohl((ULONG)pstAddIndication->psfAuthorizedSet); + addr_conn_params = ntohl((unsigned long)pstAddIndication->psfAuthorizedSet); + pstAddIndication->psfAuthorizedSet = (struct bcm_connect_mgr_params *)addr_conn_params; if (pstAddIndicationAlt->u8Type == DSA_REQ) { struct bcm_add_request AddRequest; @@ -1423,7 +1424,8 @@ ULONG StoreCmControlResponseMessage(struct bcm_mini_adapter *Adapter, PVOID pvBu return 0; } - pstAddIndication->psfAdmittedSet = (struct bcm_connect_mgr_params *)ntohl((ULONG)pstAddIndication->psfAdmittedSet); + addr_conn_params = ntohl((unsigned long)pstAddIndication->psfAdmittedSet); + pstAddIndication->psfAdmittedSet = (struct bcm_connect_mgr_params *)addr_conn_params; /* ACTIVE SET */ pstAddIndication->psfActiveSet = (struct bcm_connect_mgr_params *) @@ -1437,7 +1439,8 @@ ULONG StoreCmControlResponseMessage(struct bcm_mini_adapter *Adapter, PVOID pvBu return 0; } - pstAddIndication->psfActiveSet = (struct bcm_connect_mgr_params *)ntohl((ULONG)pstAddIndication->psfActiveSet); + addr_conn_params = ntohl((unsigned long)pstAddIndication->psfActiveSet); + pstAddIndication->psfActiveSet = (struct bcm_connect_mgr_params *)addr_conn_params; (*puBufferLength) = sizeof(struct bcm_add_indication); *(struct bcm_add_indication *)pvBuffer = *pstAddIndication; -- 1.7.9.5 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel