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@xxxxxxxxx> --- drivers/staging/rtl8192u/r8192U.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8192u/r8192U.h b/drivers/staging/rtl8192u/r8192U.h index 83bc4cef5b17..3963855ad743 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; -- 2.18.0 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel