aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
AgeCommit message (Collapse)AuthorFilesLines
2022-02-08staging: r8188eu: only OFDM_index_old[0] is usedMartin Kaiser1-3/+3
The odm_TXPowerTrackingCallback_ThermalMeter_8188E function uses only OFDM_index_old[0]. Use a single variable instead of an array. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220206161809.423031-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-08staging: r8188eu: remove UsbBulkOutSize from struct hal_data_8188eMichael Straube3-11/+8
UsbBulkOutSize in struct hal_data_8188e is only used to set a local variable in rtl8188eu_xmitframe_complete(). Set the local variable directly and remove UsbBulkOutSize from the hal_data_8188e structure. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220206144407.8397-1-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-08staging: r8188eu: limit rf register writes to path aMartin Kaiser1-0/+3
The r8188eu driver uses only RF_PATH_A. At the moment, the only exception are private ioctls. It does not make sense if these ioctls set registers that are not used anywhere else in the driver. This patch limits the private ioctl 0x0C, i.e. the rtw_wx_write_rf function, to RF_PATH_A. For any other setting, we return an error saying the parameter is invalid. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220205113741.379070-9-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-08staging: r8188eu: use a define for the radio pathMartin Kaiser1-1/+1
Replace (enum rf_radio_path)0 with RF_PATH_A. This should make it easier to see which path is selected. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220205113741.379070-8-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-08staging: r8188eu: RfRegChnlVal[1] is set but not usedMartin Kaiser4-9/+8
RfRegChnlVal[1] in hal_data_8188e is set but not used. This driver needs only one RfRegChnlVal setting. Replace the array with a single u32. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220205113741.379070-7-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-08staging: r8188eu: remove constant rf variableMartin Kaiser1-13/+7
The rf variable in odm_TXPowerTrackingCallback_ThermalMeter_8188E is always 1. The for loops that use rf will be executed only once. We can remove the variable and the loops. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220205113741.379070-6-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-08staging: r8188eu: bTXPowerTracking is set but not usedMartin Kaiser2-2/+0
bTXPowerTracking in struct odm_rf_cal is set but not used. Remove it. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220205113741.379070-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-08staging: r8188eu: bTXPowerTrackingInit is set but not usedMartin Kaiser3-4/+0
bTXPowerTrackingInit in struct odm_rf_cal is set but not used. Remove it. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220205113741.379070-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-08staging: r8188eu: TXPowerTrackingCallbackCnt is set but not usedMartin Kaiser2-2/+0
TXPowerTrackingCallbackCnt in struct odm_rf_cal is set but not used. Remove it. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220205113741.379070-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-08staging: r8188eu: TXPowercount is set but not usedMartin Kaiser3-3/+0
TXPowercount in struct odm_rf_cal is set but not used. Remove it. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220205113741.379070-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-08media: atomisp: fix dummy_ptr check to avoid duplicate active_boTsuchiya Yuto1-3/+4
The dummy_ptr check in hmm_init() [1] results in the following "hmm_init Failed to create sysfs" error exactly once every two times on atomisp reload by rmmod/insmod (although atomisp module loads and works fine regardless of this error): [ 140.230662] sysfs: cannot create duplicate filename '/devices/pci0000:00/0000:00:03.0/active_bo' [ 140.230668] CPU: 1 PID: 2502 Comm: insmod Tainted: G C OE 5.15.0-rc4-1-surface-mainline #1 b8acf6eb64994414b2e20bad312a7a2c45f748f9 [ 140.230675] Hardware name: OEMB OEMB/OEMB, BIOS 1.51116.238 03/09/2015 [ 140.230678] Call Trace: [ 140.230687] dump_stack_lvl+0x46/0x5a [ 140.230702] sysfs_warn_dup.cold+0x17/0x24 [ 140.230710] sysfs_add_file_mode_ns+0x160/0x170 [ 140.230717] internal_create_group+0x126/0x390 [ 140.230723] hmm_init+0x5c/0x70 [atomisp 7a6a680bf400629363d2a6f58fd10e7299678b99] [ 140.230811] atomisp_pci_probe.cold+0x1136/0x148e [atomisp 7a6a680bf400629363d2a6f58fd10e7299678b99] [ 140.230875] local_pci_probe+0x45/0x80 [ 140.230882] ? pci_match_device+0xd7/0x130 [ 140.230887] pci_device_probe+0xfa/0x1b0 [ 140.230892] really_probe+0x1f5/0x3f0 [ 140.230899] __driver_probe_device+0xfe/0x180 [ 140.230903] driver_probe_device+0x1e/0x90 [ 140.230908] __driver_attach+0xc0/0x1c0 [ 140.230912] ? __device_attach_driver+0xe0/0xe0 [ 140.230915] ? __device_attach_driver+0xe0/0xe0 [ 140.230919] bus_for_each_dev+0x89/0xd0 [ 140.230924] bus_add_driver+0x12b/0x1e0 [ 140.230929] driver_register+0x8f/0xe0 [ 140.230933] ? 0xffffffffc153f000 [ 140.230937] do_one_initcall+0x57/0x220 [ 140.230945] do_init_module+0x5c/0x260 [ 140.230952] load_module+0x24bd/0x26a0 [ 140.230962] ? __do_sys_finit_module+0xae/0x110 [ 140.230966] __do_sys_finit_module+0xae/0x110 [ 140.230972] do_syscall_64+0x5c/0x80 [ 140.230979] ? syscall_exit_to_user_mode+0x23/0x40 [ 140.230983] ? do_syscall_64+0x69/0x80 [ 140.230988] ? exc_page_fault+0x72/0x170 [ 140.230991] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 140.230997] RIP: 0033:0x7f7fd5d8718d [ 140.231003] Code: b4 0c 00 0f 05 eb a9 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d b3 6c 0c 00 f7 d8 64 89 01 48 [ 140.231006] RSP: 002b:00007ffefc25f0e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139 [ 140.231012] RAX: ffffffffffffffda RBX: 000055ac3edcd7f0 RCX: 00007f7fd5d8718d [ 140.231015] RDX: 0000000000000000 RSI: 000055ac3d723270 RDI: 0000000000000003 [ 140.231017] RBP: 0000000000000000 R08: 0000000000000000 R09: 00007f7fd5e52380 [ 140.231019] R10: 0000000000000003 R11: 0000000000000246 R12: 000055ac3d723270 [ 140.231021] R13: 0000000000000000 R14: 000055ac3edd06e0 R15: 0000000000000000 [ 140.231038] atomisp-isp2 0000:00:03.0: hmm_init Failed to create sysfs The problem is that dummy_ptr == 0 is a valid value. So, change the logic which checks if dummy_ptr was allocated. At this point, atomisp now gives WARN_ON() in hmm_free() [2] on atomisp reload by rmmod/insmod. Again, the check is wrong there. So, change both checks for mmgr_EXCEPTION, which is the error value when HMM allocation fails, and initialize dummy_ptr with such value. [1] added on commit d9ab83953fa7 ("media: atomisp: don't cause a warn if probe failed") [2] added on commit b83cc378dfc4 ("atomisp: clean up the hmm init/cleanup indirections") Link: https://lore.kernel.org/linux-media/20211017162337.44860-3-kitakar@gmail.com Signed-off-by: Tsuchiya Yuto <kitakar@gmail.com> Co-developed-by: Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-08media: staging: media: atomisp: Use BIT macro instead of left shiftingMoses Christopher Bollavarapu6-84/+90
There is a BIT(nr) macro available in Linux Kernel, which does the same thing. Example: BIT(7) = (1UL << 7) Link: https://lore.kernel.org/linux-media/20220206185232.21726-1-mosescb.dev@gmail.com Signed-off-by: Moses Christopher Bollavarapu <mosescb.dev@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-08media: atomisp: make array idx_map static constColin Ian King1-1/+1
Don't populate the read-only array idx_map on the stack but instead it static const. Also makes the object code a little smaller. Link: https://lore.kernel.org/linux-media/20220109195129.46118-1-colin.i.king@gmail.com Signed-off-by: Colin Ian King <colin.i.king@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-08media: atomisp_gmin_platform: Add DMI quirk to not turn AXP ELDO2 regulator off on some boardsHans de Goede1-0/+18
The TrekStor SurfTab duo W1 10.1 has a hw bug where turning eldo2 back on after having turned it off causes the CPLM3218 ambient-light-sensor on the front camera sensor's I2C bus to crash, hanging the bus. Add a DMI quirk table for systems on which to leave eldo2 on. Note an alternative fix is to turn off the CPLM3218 ambient-light-sensor as long as the camera sensor is being used, this is what Windows seems to do as a workaround (based on analyzing the DSDT). But that is not easy to do cleanly under Linux. Link: https://lore.kernel.org/linux-media/20220116215204.307649-10-hdegoede@redhat.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-08media: atomisp_gmin_platform: Base CsiPort default on detected CLKHans de Goede1-7/+16
On devices with 2 cameras and no _DSM / EFI-vars providing CsiPort clock info, defaulting to CsiPort 0 obviously is wrong for 1 of the 2 cameras. The Intel Cherry Trail (ISP2401) reference design combines: pmc_plt_clk_2 with CsiPort 0 pmc_plt_clk_4 with CsiPort 1 The Intel Bay Trail (ISP2400) reference design combines: pmc_plt_clk_1 with CsiPort 0 pmc_plt_clk_0 with CsiPort 1 Use this knowledge to set the default CsiPort value based on the detected CLK for the sensor. Link: https://lore.kernel.org/linux-media/20220116215204.307649-9-hdegoede@redhat.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-08media: atomisp_gmin_platform: Do not turn ELDO2 off from axp_v1p8_on()Hans de Goede1-5/+0
Fix axp_v1p8_on() turning ELDO2 off at the end again by removing the bogus code which turns it off again after just having turned it on. Link: https://lore.kernel.org/linux-media/20220116215204.307649-8-hdegoede@redhat.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-08media: atomisp_gmin_platform: Set ELDO1 to 1.6V on devices with an AXP288 PMICHans de Goede1-7/+7
Testing on multiple tablet models has shown that Android always uses 1.6V for ELDO1, adjust our code to match. This also matches with how ELDO1 is used in the DSDTs on these devices, where for Cherry Trail (ISP2401) based devices ELDO1 is used for an ACPI power-resource which is named "P16P". Note on Bay Trail (ISP2400) based devices the power-resource is called "P15P", which suggests that 1.5V might be a better value there. Link: https://lore.kernel.org/linux-media/20220116215204.307649-7-hdegoede@redhat.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-08media: atomisp_gmin_platform: Add enable-count to gmin_[v1p8|v2p8]_ctrl()Hans de Goede1-21/+65
On devices with 2 sensors the 2 sensors may get probed simultaneously and the v1p8 and v2p8 regulators are ususally shared between the 2 sensors. This means that the probe() function of sensor 1 may end up calling gmin_v1p8_ctrl(..., false) turning the regulator off while sensor 2's probe() function still needs it to be on, causing the probe() of sensor 2 to sometimes fail. Fix this by adding an enable-count for both regulators and only disabling them again when that goes to 0. Note all this really should be converted to use the standard kernel regulator framework, I have doing this on my long term TODO list, this fix is only meant as a temporary workaround for the issue. Link: https://lore.kernel.org/linux-media/20220116215204.307649-6-hdegoede@redhat.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-08media: atomisp_gmin_platform: Fix axp_regulator_set() writing to the wrong registerHans de Goede1-1/+1
The second write done in axp_regulator_set() must go to the ctrl_reg which turns the various regulators on/off. This replaces the second write writing the sel_reg, which sets the voltage for the regulator, for a second time with a wrong value. Link: https://lore.kernel.org/linux-media/20220116215204.307649-5-hdegoede@redhat.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-08media: atomisp: Use irci_stable_candrpv_0415_20150423_1753 fw for bytHans de Goede1-0/+4
There is no irci_stable_candrpv_0415_20150521_0458 build for the isp2400/byt version of the atomisp2. There is however an irci_stable_candrpv_0415_20150423_1753 version which according to: https://github.com/intel/ProductionKernelQuilts/blob/master/uefi/cht-m1stable/patches/cam-041 Has the exact same fw ABI, so use that on the isp2400. Link: https://lore.kernel.org/linux-media/20220116215204.307649-4-hdegoede@redhat.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-08media: atomisp: Don't use ifdef ISP2400Hans de Goede1-1/+1
IPS2400 is never defined, for ISP2401 builds ISP2401 gets defined and for ISP2400 nothing gets defined, so any #ifdef ISP2400 checks should be #ifndef ISP2401 checks instead. Link: https://lore.kernel.org/linux-media/20220116215204.307649-3-hdegoede@redhat.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-08media: atomisp: Don't use ifdef on IS_ISP2401Hans de Goede1-2/+2
IS_ISP2401 is a function like macro which is always defined, so it must not be used together with #ifdef. #ifdef checks should check for "ISP2401", not "IS_ISP2401". Link: https://lore.kernel.org/linux-media/20220116215204.307649-2-hdegoede@redhat.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-02-04staging: r8188eu: remove constant variable eRFPathMartin Kaiser1-3/+2
In the _PHY_SwChnl8192C function, eRFPath is always zero. Remove the variable and use 0 in the code. Replace (enum rf_radio_path)0 with RF_PATH_A. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220204090941.309900-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: remove constant parameter of odm_ConfigRFReg_8188EMartin Kaiser1-4/+3
The only caller of odm_ConfigRFReg_8188E sets RF_PATH to RF_PATH_A. Remove this parameter and use RF_PATH_A inside the function. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220204090941.309900-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: remove dead code for tx power trackingMartin Kaiser1-70/+2
The odm_TXPowerTrackingCallback_ThermalMeter_8188E contains code for OFDM paths A and B. It seems that path B is not used, is2t is always false. Remove resulting dead code. Without the path B code, the ele_A and ele_C variables are set but not used. They can be removed. With ele_A and ele_C gone, X and Y are now set but no longer used. Remove them as well. Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220204090941.309900-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: remove constant parameter of phy_LCCalibrate_8188EMartin Kaiser1-15/+3
The only caller of phy_LCCalibrate_8188E sets is2t to false. Remove this parameter and resulting dead code. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220204090941.309900-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: pi433: add debugfs interfacePaulo Miguel Almeida3-1/+78
This adds debugfs interface that can be used for debugging possible hardware/software issues. It currently exposes the following debugfs entries for each SPI device probed: /sys/kernel/debug/pi433/<DEVICE>/regs ... The 'regs' file contains all rf69 uC registers values that are useful for troubleshooting misconfigurations between 2 devices. It contains one register per line so it should be easy to use normal filtering tools to find the registers of interest if needed. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com> Link: https://lore.kernel.org/r/YfzeEHJcd+qvYGZ8@mail.google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: simplify error handling in phy_BB8188E_Config_ParaFileMartin Kaiser1-8/+3
Simplify error handling in phy_BB8188E_Config_ParaFile. Exit immediately when there's an error, do not jump to the end of the function. We do not have anything to clean up before we return. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220203201745.251826-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: remove unnecessary error checkMartin Kaiser1-3/+0
Remove an unnecessary error check in phy_BB8188E_Config_ParaFile. There's no need to goto phy_BB8190_Config_ParaFile_Fail, this label is in the following line. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220203201745.251826-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: vt6656: Fix crash when WLAN is turned offPhilipp Hortmann1-1/+3
Stop submitting urbs before calling usb_kill_urb() and usb_free_urb(). Signed-off-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> Link: https://lore.kernel.org/r/20220203192201.GA18509@matrix-ESPRIMO-P710 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: move struct rt_firmware_hdr to rtw_fw.hMichael Straube2-35/+35
The structure rt_firmware_hdr is firmware related. Move it to the rtw_fw.h header. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220202075051.21266-1-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: remove UsbRxAggPage* from struct hal_data_8188eMichael Straube2-10/+6
UsbRxAggPageCount and UsbRxAggPageTimeout in struct hal_data_8188e are set and never changed. Define these constants and remove the variables from the hal_data_8188e structure. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220201084259.7497-10-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: remove UsbRxAggBlock* from struct hal_data_8188eMichael Straube2-6/+0
UsbRxAggBlockCount and UsbRxAggBlockTimeout in struct hal_data_8188e are set but not used. Remove them. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220201084259.7497-9-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: remove UsbRxAggMode from struct hal_data_8188eMichael Straube3-61/+7
UsbRxAggMode in struct hal_data_8188e is set to USB_RX_AGG_DMA and never changed. Remove UsbRxAggMode from the hal_data_8188e structure and remove related dead code. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220201084259.7497-8-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: remove UsbTxAggMode from struct hal_data_8188eMichael Straube2-13/+6
UsbTxAggMode in struct hal_data_r8188e is only used in a single if statement. Remove UsbTxAggMode from the hal_data_8188e structure and adjust the if statement. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220201084259.7497-7-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: remove UsbTxAggDescNum from struct hal_data_8188eMichael Straube4-4/+4
UsbTxAggDescNum in struct hal_data_8188e is set to 0x6 and never changed. Define this constant and remove UsbTxAggDescNum from the hal_data_8188e structure. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220201084259.7497-6-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: BasicRateSet is set but never usedMichael Straube2-3/+0
The varaible BasicRateSet in struct hal_data_8188e is set but never used. Remove it. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220201084259.7497-5-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: remove ReceiveConfig from struct hal_data_8188eMichael Straube2-8/+5
The ReceiveConfig variable in struct hal_data_8188e is only used to store a local value. Use a local variable instead and remove ReceiveConfig from struct hal_data_8188e. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220201084259.7497-4-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: remove PGMaxGroup from struct hal_data_8188eMichael Straube3-3/+1
the variable PGMaxGroup in struct hal_data_8188e is set to 13 and never changed. We can use the already defined constant MAX_PG_GROUP, which is 13, and remove PGMaxGroup from struct hal_data_8188e. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220201084259.7497-3-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: ExternalPA is read-onlyMichael Straube2-4/+0
The variable ExternalPA in struct hal_data_8188e is never set. It stays at the default value 0. Remove it and remove related dead code. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220201084259.7497-2-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-04staging: r8188eu: Silence out-of-bounds warning in HT_caps_handler()Gustavo A. R. Silva1-1/+1
Silence the following out-of-bounds warning (caught with -Warray-bounds=2): drivers/staging/r8188eu/core/rtw_wlan_util.c: In function ‘HT_caps_handler’: drivers/staging/r8188eu/core/rtw_wlan_util.c:719:54: error: array subscript 2 is above array bounds of ‘u8[1]’ {aka ‘unsigned char[1]’} [-Werror=array-bounds] 719 | pIE->data[i] & 0x3); | ~~~~~~~~~^~~ ./include/linux/minmax.h:32:39: note: in definition of macro ‘__cmp_once’ 32 | typeof(y) unique_y = (y); \ | ^ ./include/linux/minmax.h:45:25: note: in expansion of macro ‘__careful_cmp’ 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ drivers/staging/r8188eu/core/rtw_wlan_util.c:718:41: note: in expansion of macro ‘min’ 718 | max_AMPDU_len = min(pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x3, | ^~~ In file included from drivers/staging/r8188eu/core/../include/drv_types.h:16, from drivers/staging/r8188eu/core/rtw_wlan_util.c:7: drivers/staging/r8188eu/core/../include/wlan_bssdef.h:64:13: note: while referencing ‘data’ 64 | u8 data[1]; | ^~~~ by transforming one-element array into a flexible-array member in struct ndis_802_11_var_ie This is part of the ongoing efforts to globally enable -Warray-bounds. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Link: https://lore.kernel.org/r/20220202070906.GA274379@embeddedor Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-31staging: r8188eu: remove HW_VAR_CAM_EMPTY_ENTRYMichael Straube2-24/+0
The HW_VAR_CAM_EMPTY_ENTRY case in SetHwReg8188EU() is not used. Remove it. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220130190321.7172-13-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-31staging: r8188eu: remove HW_VAR_CHECK_BSSIDMichael Straube2-14/+0
The HW_VAR_CHECK_BSSID case in SetHwReg8188EU() is not used. Remove it. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220130190321.7172-12-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-31staging: r8188eu: remove HW_VAR_BCN_FUNCMichael Straube3-18/+2
The HW_VAR_BCN_FUNC case in SetHwReg8188EU() just calls hw_var_set_bcn_func(). Remove HW_VAR_BCN_FUNC from SetHwReg8188EU(), remove hw_var_set_bcn_func() and call rtw_write8() directly. Since hw_var_set_bcn_func() was always called with value 0, we only need to keep the else arm of the if statement that checks the value. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220130190321.7172-11-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-31staging: r8188eu: remove HW_VAR_CAM_WRITEMichael Straube3-12/+2
Remove HW_VAR_CAM_WRITE from SetHwReg8188EU() and call rtw_write32() directly. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220130190321.7172-10-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-31staging: r8188eu: merge Set_NETYPE0_MSR() and Set_MSR()Michael Straube1-6/+1
Set_MSR() just calls Set_NETYPE0_MSR(). Merge the two functions. Keep Set_MSR() and remove Set_NETYPE0_MSR(). Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220130190321.7172-9-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-31staging: r8188eu: remove HW_VAR_MEDIA_STATUSMichael Straube3-11/+5
Remove HW_VAR_MEDIA_STATUS from SetHwReg8188EU() and call rtw_read8() and rtw_write8() directly. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220130190321.7172-8-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-31staging: r8188eu: remove HW_VAR_AC_PARAM_BKMichael Straube3-5/+1
Remove HW_VAR_AC_PARAM_BK from SetHwReg8188EU() and call rtw_write32() directly. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220130190321.7172-7-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-31staging: r8188eu: remove HW_VAR_AC_PARAM_VIMichael Straube3-5/+1
Remove HW_VAR_AC_PARAM_VI from SetHwReg8188EU() and call rtw_write32() directly. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220130190321.7172-6-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-31staging: r8188eu: remove HW_VAR_AC_PARAM_VOMichael Straube3-5/+1
Remove HW_VAR_AC_PARAM_VO from SetHwReg8188EU() and call rtw_write32() directly. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220130190321.7172-5-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>