linux/drivers/staging/csr
Peter Huewe 94b84e4510 staging/csr: Fix dereference before check
Smatch complains about some pointers that are dereferenced before being
checked:

drivers/staging/csr/sme_sys.c:285
CsrWifiRouterCtrlHipReqHandler() warn: variable dereferenced before
check 'priv' (see line 283)
drivers/staging/csr/sme_sys.c:1503
CsrWifiRouterMaPacketReqHandler() warn: variable dereferenced before
check 'priv' (see line 1501)
drivers/staging/csr/sme_sys.c:2062
CsrWifiRouterCtrlPeerDelReqHandler() warn: variable dereferenced before
check 'priv' (see line 2059)
drivers/staging/csr/sme_sys.c:2477
CsrWifiRouterCtrlPeerAddReqHandler() warn: variable dereferenced before
check 'priv' (see line 2474)
drivers/staging/csr/sme_sys.c:3045
CsrWifiRouterCtrlWapiRxPktReqHandler() warn: variable dereferenced
before check 'priv' (see line 3039)

We put the check before the dereferencing and prevent an oops and fix
the warning.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-07 14:56:04 -08:00
..
bh.c Staging: csr: bh.c: fixing spaces coding style issues 2012-10-25 12:18:05 -07:00
csr_framework_ext.c staging: csr: remove csrPanic and CSR_LOG_ASSERT and CSR_LOG_ASSERT_ENABLE 2012-10-26 09:07:46 -07:00
csr_framework_ext.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_framework_ext_types.h staging: csr: Remove struct CsrEvent 2012-10-30 10:39:15 -07:00
csr_log.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_log_configure.h staging: csr: csr_log_configure.h: remove a bunch of function protos 2012-10-30 12:45:39 -07:00
csr_log_text.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_macro.h Staging: csr: remove CSRMIN() macro 2012-10-26 17:11:23 -07:00
csr_msg_transport.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_msgconv.c staging: csr: remove csrPanic and CSR_LOG_ASSERT and CSR_LOG_ASSERT_ENABLE 2012-10-26 09:07:46 -07:00
csr_msgconv.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_prim_defs.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_result.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_sched.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_sdio.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_serialize_primitive_types.c staging: csr: remove csr_lib.h 2012-10-30 12:45:39 -07:00
csr_time.c staging: csr: remove the CsrTime typedef altogether 2012-10-24 15:23:09 -07:00
csr_time.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_util.c stating: csr: remove unneeded #includes in csr_util.c 2012-07-20 15:06:15 -07:00
csr_wifi_common.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_fsm.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_fsm_event.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_fsm_types.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_card.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_card_sdio.c staging: csr: remove func_exit_r macro 2012-10-29 14:54:34 -07:00
csr_wifi_hip_card_sdio.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_card_sdio_intr.c staging: csr: remove CsrMemAllocDma() 2012-07-20 15:47:35 -07:00
csr_wifi_hip_card_sdio_mem.c staging: csr: remove CsrInt32 typedef 2012-07-20 12:07:25 -07:00
csr_wifi_hip_chiphelper.c staging: csr: remove csr_types.h 2012-07-20 13:07:13 -07:00
csr_wifi_hip_chiphelper.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_chiphelper_private.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_conversions.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_download.c staging: csr: remove func_exit_r macro 2012-10-29 14:54:34 -07:00
csr_wifi_hip_dump.c staging: csr: remove func_exit_r macro 2012-10-29 14:54:34 -07:00
csr_wifi_hip_packing.c staging: csr: remove CsrMemCpy() 2012-07-20 15:01:05 -07:00
csr_wifi_hip_send.c staging: csr: remove func_exit macro 2012-10-29 14:54:34 -07:00
csr_wifi_hip_signals.c staging: csr: remove CsrOffSetOf() 2012-07-20 15:09:16 -07:00
csr_wifi_hip_signals.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_sigs.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_ta_sampling.c staging: csr: remove CsrMemCmp 2012-07-20 14:18:02 -07:00
csr_wifi_hip_ta_sampling.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_udi.c staging: fix csr printk format warning 2012-09-17 14:50:33 -07:00
csr_wifi_hip_unifi.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_unifi_signal_names.c staging: csr: csr_wifi_hip_unifi_signal_names: Fix pointer position 2012-11-06 09:32:17 +01:00
csr_wifi_hip_unifi_udi.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_unifihw.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_unifiversion.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hip_xbv.c Staging: csr: remove CSRMIN() macro 2012-10-26 17:11:23 -07:00
csr_wifi_hip_xbv.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_hostio_prim.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_lib.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_msgconv.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_nme_ap_converter_init.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_nme_ap_converter_init.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_nme_ap_free_downstream_contents.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_nme_ap_free_upstream_contents.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_nme_ap_lib.h staging: csr: csr_wifi_nme_ap_lib.h: remove the function prototypes 2012-11-01 08:48:56 -07:00
csr_wifi_nme_ap_prim.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_nme_ap_sef.c
csr_wifi_nme_ap_sef.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_nme_ap_serialize.c staging: csr: remove csr_utf16.c 2012-07-20 17:04:08 -07:00
csr_wifi_nme_ap_serialize.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_nme_converter_init.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_nme_lib.h staging: csr: csr_wifi_nme_lib.h: remove function prototypes 2012-11-01 08:48:56 -07:00
csr_wifi_nme_prim.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_nme_serialize.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_nme_task.h staging: csr: csr_wifi_nme_task.h: remove function prototypes 2012-11-01 08:48:56 -07:00
csr_wifi_private_common.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_result.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_converter_init.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_router_converter_init.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_ctrl_converter_init.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_router_ctrl_converter_init.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_ctrl_free_downstream_contents.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_router_ctrl_free_upstream_contents.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_router_ctrl_lib.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_ctrl_prim.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_ctrl_sef.c Staging: csr: csr_wifi_router_ctrl_sef.c: fix line over 80 characters 2012-10-22 14:46:49 -07:00
csr_wifi_router_ctrl_sef.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_ctrl_serialize.c staging: csr: remove csr_utf16.c 2012-07-20 17:04:08 -07:00
csr_wifi_router_ctrl_serialize.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_free_downstream_contents.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_router_free_upstream_contents.c Drivers: Staging: CSR: fixed coding style errors in csr_wifi_router_free_upstream_contents.c 2012-10-22 14:01:42 -07:00
csr_wifi_router_lib.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_prim.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_sef.c
csr_wifi_router_sef.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_serialize.c staging: csr: remove csr_utf16.c 2012-07-20 17:04:08 -07:00
csr_wifi_router_serialize.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_task.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_router_transport.c staging: csr: delete a bunch of unused library functions 2012-07-20 17:25:09 -07:00
csr_wifi_serialize_primitive_types.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_sme_ap_lib.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_sme_ap_prim.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_sme_converter_init.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_sme_converter_init.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_sme_free_downstream_contents.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_sme_free_upstream_contents.c staging: csr: remove csr_pmem.h 2012-07-20 16:50:34 -07:00
csr_wifi_sme_lib.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_sme_prim.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_sme_sef.c
csr_wifi_sme_sef.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_sme_serialize.c staging: csr: remove csr_utf16.c 2012-07-20 17:04:08 -07:00
csr_wifi_sme_serialize.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_sme_task.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
csr_wifi_vif_utils.h Staging: csr: remove __cplusplus nonsense from the .h files 2012-10-26 16:29:09 -07:00
data_tx.c Staging: csr: data_tx: remove extra space in printk 2012-10-22 13:48:04 -07:00
drv.c staging: csr: drv.c: replace spaces with tabs in uf_destroy_device_nodes 2012-10-30 12:45:38 -07:00
firmware.c staging: csr: remove CONFIG_HOTPLUG ifdefs 2012-11-21 15:04:58 -08:00
inet.c staging: csr: inet.c: replaces spaces with tabs 2012-11-01 08:48:55 -07:00
init_hw.c
io.c staging: csr: io.c: replace spaces with tabs 2012-10-30 12:45:38 -07:00
Kconfig staging: csr: add INET dependancy 2012-08-14 16:53:21 -07:00
LICENSE.txt
Makefile staging: csr: remove csrPanic and CSR_LOG_ASSERT and CSR_LOG_ASSERT_ENABLE 2012-10-26 09:07:46 -07:00
mlme.c staging: csr: remove func_exit macro 2012-10-29 14:54:34 -07:00
monitor.c staging: csr: remove func_exit macro 2012-10-29 14:54:34 -07:00
netdev.c staging : csr: Fix typo in csr/netdev.c 2012-10-29 14:58:30 -07:00
os.c staging: csr: os.c: remove braces around single statement blocks 2012-10-30 12:45:38 -07:00
putest.c staging: csr: remove CsrPmemAlloc 2012-07-20 16:41:09 -07:00
sdio_events.c staging: csr: Remove unneeded UF_NETIF_TX_* macros 2012-09-04 14:31:21 -07:00
sdio_mmc.c staging: csr: remove func_exit_r macro 2012-10-29 14:54:34 -07:00
sdio_stubs.c staging: csr: remove CsrUint16 typedef 2012-07-20 12:00:10 -07:00
sme_blocking.c staging: csr: sme_blocking.c: add missing check for return of sme_wait_for_reply 2012-11-01 08:48:56 -07:00
sme_mgt.c staging: csr: remove CsrPmemAlloc 2012-07-20 16:41:09 -07:00
sme_native.c staging: csr: remove func_exit macro 2012-10-29 14:54:34 -07:00
sme_sys.c staging/csr: Fix dereference before check 2013-01-07 14:56:04 -08:00
sme_userspace.c staging: csr: remove CsrPmemFree() 2012-07-20 15:59:12 -07:00
sme_userspace.h Staging: csr: fix pointer(asterisk) position coding style issue in sme_userspace.h 2012-10-22 13:59:05 -07:00
sme_wext.c staging: csr: remove func_exit_r macro 2012-10-29 14:54:34 -07:00
ul_int.c staging: csr: remove unused including <linux/version.h> 2012-10-22 13:48:04 -07:00
unifi_clients.h staging: csr: remove CsrUint32 typedef 2012-07-20 12:05:42 -07:00
unifi_config.h
unifi_dbg.c
unifi_event.c staging: csr: remove func_exit macro 2012-10-29 14:54:34 -07:00
unifi_native.h staging: csr: Remove dead code 2012-07-11 17:07:52 -07:00
unifi_os.h staging: csr: remove func_exit_r macro 2012-10-29 14:54:34 -07:00
unifi_pdu_processing.c staging: csr: remove func_exit macro 2012-10-29 14:54:34 -07:00
unifi_priv.h staging: csr: remove the CsrTime typedef altogether 2012-10-24 15:23:09 -07:00
unifi_sme.c staging: csr: remove unneeded call to memset(). 2013-01-07 14:03:32 -08:00
unifi_sme.h staging: csr: remove CsrBool typedef 2012-07-20 12:25:15 -07:00
unifi_wext.h staging: csr: remove unused including <linux/version.h> 2012-10-22 13:48:04 -07:00
unifiio.h staging: csr: remove csr_types.h 2012-07-20 13:07:13 -07:00
wext_events.c staging: csr: print mac address with %pM 2012-08-13 18:56:35 -07:00