summaryrefslogtreecommitdiffstats
path: root/drivers/staging/rtl8192u/r8192U.h
diff options
context:
space:
mode:
authorJohn Whitmore2018-07-11 21:21:49 +0200
committerGreg Kroah-Hartman2018-07-13 11:40:46 +0200
commit704719d6cde0be9aaacdb64c4eacdb1b99838fea (patch)
treea2339657ce7151cf24975d0d8f4614ddf81b25bd /drivers/staging/rtl8192u/r8192U.h
parentstaging:rtl8192u: remove typedef from struct rx_drvinfo_819x_usb (diff)
downloadkernel-qcow2-linux-704719d6cde0be9aaacdb64c4eacdb1b99838fea.tar.gz
kernel-qcow2-linux-704719d6cde0be9aaacdb64c4eacdb1b99838fea.tar.xz
kernel-qcow2-linux-704719d6cde0be9aaacdb64c4eacdb1b99838fea.zip
staging:rtl8192u: Change struct r8192_priv member Rf_Mode from u8 > enum
The file r8192U.h defines the structure for holding private data for the driver (typedef struct r8192_priv). This structure includes a member Rf_Mode which is defined to be of type "u8". Whilst the variable Rf_Mode is defined to be of type "u8" it is being assigned enumerated values defined by the enumerated type "enum rf_op_type". Because of the mismatch in types being used any advantage of using an enumerated type, to have the compiler check assignments, is nullified. This patch changes the type of the Rf_Mode member from a u8 to the enumerated type "enum rf_op_type", so that the compiler can now check assignments. This change of type would cause a problem if the structure was mapped from a hardware device and the size and location of members was significant. I believe that the structure to hold private data for the driver is allocated from memory and populated with data in the function rtl8192_usb_probe() in the file r8192U_core.c. As such the physical size of the member variable Rf_Mode is not significant, so the change should have no impact on code execution, bar the move from a u8 type to an int, (or whatever size compiler uses for enum). Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rtl8192u/r8192U.h')
-rw-r--r--drivers/staging/rtl8192u/r8192U.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/staging/rtl8192u/r8192U.h b/drivers/staging/rtl8192u/r8192U.h
index 4b67783b617e..98b6bf7985f7 100644
--- a/drivers/staging/rtl8192u/r8192U.h
+++ b/drivers/staging/rtl8192u/r8192U.h
@@ -334,11 +334,12 @@ struct rx_drvinfo_819x_usb {
/* Octets for crc32 (FCS, ICV) */
#define scrclng 4
-typedef enum rf_optype {
+enum rf_op_type {
RF_OP_By_SW_3wire = 0,
RF_OP_By_FW,
RF_OP_MAX
-} rf_op_type;
+};
+
/* 8190 Loopback Mode definition */
typedef enum _rtl819xUsb_loopback {
RTL819xU_NO_LOOPBACK = 0,
@@ -894,7 +895,7 @@ typedef struct r8192_priv {
u8 slot_time;
bool bDcut;
bool bCurrentRxAggrEnable;
- u8 Rf_Mode; /* For Firmware RF -R/W switch */
+ enum rf_op_type Rf_Mode; /* For Firmware RF -R/W switch */
prt_firmware pFirmware;
rtl819xUsb_loopback_e LoopbackMode;
u16 EEPROMTxPowerDiff;