From 5a77b84df79e639fbe1045b53267413fbf2c5a93 Mon Sep 17 00:00:00 2001 From: Denis Arefev Date: Fri, 18 Nov 2022 14:15:23 +0300 Subject: [PATCH 001/219] staging: rts5208: Added value check Added value check. Return value of a function 'ms_set_rw_reg_addr' called at ms.c:1770 is not checked, but it is usually checked for this function Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Denis Arefev Link: https://lore.kernel.org/r/20221118111523.123463-1-arefev@swemel.ru Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rts5208/ms.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/staging/rts5208/ms.c b/drivers/staging/rts5208/ms.c index 14449f8afad5..bfeb5873bf3b 100644 --- a/drivers/staging/rts5208/ms.c +++ b/drivers/staging/rts5208/ms.c @@ -1768,6 +1768,8 @@ static int ms_copy_page(struct rtsx_chip *chip, u16 old_blk, u16 new_blk, retval = ms_set_rw_reg_addr(chip, OVERWRITE_FLAG, MS_EXTRA_SIZE, SYSTEM_PARAM, (6 + MS_EXTRA_SIZE)); + if (retval != STATUS_SUCCESS) + return STATUS_FAIL; ms_set_err_code(chip, MS_NO_ERROR); From 6b486d7f6a18d158d800c3e6e52ba391bebfafdd Mon Sep 17 00:00:00 2001 From: Matt Jan Date: Fri, 9 Dec 2022 10:17:54 +0800 Subject: [PATCH 002/219] staging: vme_user: add the spaces around the "*" Add a space around the "*" at vme_bridge.h to clear up a checkpatch check. Signed-off-by: Matt Jan Link: https://lore.kernel.org/r/20221209021756.5597-1-zoo868e@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vme_user/vme_bridge.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/vme_user/vme_bridge.h b/drivers/staging/vme_user/vme_bridge.h index 0bbefe9851d7..e17a8f7de165 100644 --- a/drivers/staging/vme_user/vme_bridge.h +++ b/drivers/staging/vme_user/vme_bridge.h @@ -4,7 +4,7 @@ #include "vme.h" -#define VME_CRCSR_BUF_SIZE (508*1024) +#define VME_CRCSR_BUF_SIZE (508 * 1024) /* * Resource structures */ From 3b529e145ea4c2aa59b6bada0aa10b13d2dbc1fa Mon Sep 17 00:00:00 2001 From: Matt Jan Date: Fri, 9 Dec 2022 10:17:55 +0800 Subject: [PATCH 003/219] staging: vme_user: remove unnecessary spaces Remove unnecessary spaces before function pointer arguments in vme_bridge.h. This is done with command ':%s/) (/)('. Signed-off-by: Matt Jan Link: https://lore.kernel.org/r/20221209021756.5597-2-zoo868e@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vme_user/vme_bridge.h | 32 +++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/staging/vme_user/vme_bridge.h b/drivers/staging/vme_user/vme_bridge.h index e17a8f7de165..5da2643e20d5 100644 --- a/drivers/staging/vme_user/vme_bridge.h +++ b/drivers/staging/vme_user/vme_bridge.h @@ -128,45 +128,45 @@ struct vme_bridge { struct mutex irq_mtx; /* Slave Functions */ - int (*slave_get) (struct vme_slave_resource *, int *, + int (*slave_get)(struct vme_slave_resource *, int *, unsigned long long *, unsigned long long *, dma_addr_t *, u32 *, u32 *); - int (*slave_set) (struct vme_slave_resource *, int, unsigned long long, + int (*slave_set)(struct vme_slave_resource *, int, unsigned long long, unsigned long long, dma_addr_t, u32, u32); /* Master Functions */ - int (*master_get) (struct vme_master_resource *, int *, + int (*master_get)(struct vme_master_resource *, int *, unsigned long long *, unsigned long long *, u32 *, u32 *, u32 *); - int (*master_set) (struct vme_master_resource *, int, + int (*master_set)(struct vme_master_resource *, int, unsigned long long, unsigned long long, u32, u32, u32); - ssize_t (*master_read) (struct vme_master_resource *, void *, size_t, + ssize_t (*master_read)(struct vme_master_resource *, void *, size_t, loff_t); - ssize_t (*master_write) (struct vme_master_resource *, void *, size_t, + ssize_t (*master_write)(struct vme_master_resource *, void *, size_t, loff_t); - unsigned int (*master_rmw) (struct vme_master_resource *, unsigned int, + unsigned int (*master_rmw)(struct vme_master_resource *, unsigned int, unsigned int, unsigned int, loff_t); /* DMA Functions */ - int (*dma_list_add) (struct vme_dma_list *, struct vme_dma_attr *, + int (*dma_list_add)(struct vme_dma_list *, struct vme_dma_attr *, struct vme_dma_attr *, size_t); - int (*dma_list_exec) (struct vme_dma_list *); - int (*dma_list_empty) (struct vme_dma_list *); + int (*dma_list_exec)(struct vme_dma_list *); + int (*dma_list_empty)(struct vme_dma_list *); /* Interrupt Functions */ - void (*irq_set) (struct vme_bridge *, int, int, int); - int (*irq_generate) (struct vme_bridge *, int, int); + void (*irq_set)(struct vme_bridge *, int, int, int); + int (*irq_generate)(struct vme_bridge *, int, int); /* Location monitor functions */ - int (*lm_set) (struct vme_lm_resource *, unsigned long long, u32, u32); - int (*lm_get) (struct vme_lm_resource *, unsigned long long *, u32 *, + int (*lm_set)(struct vme_lm_resource *, unsigned long long, u32, u32); + int (*lm_get)(struct vme_lm_resource *, unsigned long long *, u32 *, u32 *); int (*lm_attach)(struct vme_lm_resource *, int, void (*callback)(void *), void *); - int (*lm_detach) (struct vme_lm_resource *, int); + int (*lm_detach)(struct vme_lm_resource *, int); /* CR/CSR space functions */ - int (*slot_get) (struct vme_bridge *); + int (*slot_get)(struct vme_bridge *); /* Bridge parent interface */ void *(*alloc_consistent)(struct device *dev, size_t size, From e185623a495e85faa8fe899a2d6bf17dc5bbc12b Mon Sep 17 00:00:00 2001 From: Matt Jan Date: Fri, 9 Dec 2022 10:17:56 +0800 Subject: [PATCH 004/219] staging: vme_user: replace 'unsigned' with 'unsigned int' Update the bare use of "unsigned" to the preferred "unsigned int". Signed-off-by: Matt Jan Link: https://lore.kernel.org/r/20221209021756.5597-3-zoo868e@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vme_user/vme_bridge.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/vme_user/vme_bridge.h b/drivers/staging/vme_user/vme_bridge.h index 5da2643e20d5..11df0a5e7f7b 100644 --- a/drivers/staging/vme_user/vme_bridge.h +++ b/drivers/staging/vme_user/vme_bridge.h @@ -84,7 +84,7 @@ struct vme_error_handler { unsigned long long end; /* End of error window */ unsigned long long first_error; /* Address of the first error */ u32 aspace; /* Address space of error window*/ - unsigned num_errors; /* Number of errors */ + unsigned int num_errors; /* Number of errors */ }; struct vme_callback { From 3f04bd835cdc2e5de1cd8fdaa96c6757cc8b6d7a Mon Sep 17 00:00:00 2001 From: Deepak R Varma Date: Wed, 4 Jan 2023 20:48:38 +0530 Subject: [PATCH 005/219] staging: greybus: Replace zero-length array by DECLARE_FLEX_ARRAY() helper The code currently uses C90 standard extension based zero length array struct which is now deprecated and the new C99 standard extension of flexible array declarations are to be used instead. Also, the macro DECLARE_FLEX_ARRAY() allows to use single flexible array member in a structure. Refer to these links [1], [2], and [3] for details. [1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html [2] https://lore.kernel.org/lkml/YxKY6O2hmdwNh8r8@work [3] https://lore.kernel.org/lkml/20210827163015.3141722-2-keescook@chromium.org/ Issue identified using Coccinelle flexible_array.cocci semantic patch. Signed-off-by: Deepak R Varma Reviewed-by: Alex Elder Link: https://lore.kernel.org/r/Y7WYzkIOqaHOxDDS@qemulion Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/usb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/greybus/usb.c b/drivers/staging/greybus/usb.c index 8e9d9d59a357..b7badf87a3f0 100644 --- a/drivers/staging/greybus/usb.c +++ b/drivers/staging/greybus/usb.c @@ -27,7 +27,7 @@ struct gb_usb_hub_control_request { }; struct gb_usb_hub_control_response { - u8 buf[0]; + DECLARE_FLEX_ARRAY(u8, buf); }; struct gb_usb_device { From 9ac9e59f15fdf45a531d4093dc2470c41031bb47 Mon Sep 17 00:00:00 2001 From: Abhirup Deb Date: Sun, 15 Jan 2023 13:57:56 +0530 Subject: [PATCH 006/219] staging: vme_user: Replace the "<<" with BIT macro Replace the "<<" operator with BIT macro, in accordance to the checkpatch.pl script and Linux kernel coding-style guidelines. Signed-off-by: Abhirup Deb Link: https://lore.kernel.org/r/Y8O5DN9ehby8K487@li-27defe4c-32e1-11b2-a85c-e202e9981075.ibm.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vme_user/vme.h | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/drivers/staging/vme_user/vme.h b/drivers/staging/vme_user/vme.h index 98da8d039d60..faa9816046a9 100644 --- a/drivers/staging/vme_user/vme.h +++ b/drivers/staging/vme_user/vme.h @@ -2,6 +2,8 @@ #ifndef _VME_H_ #define _VME_H_ +#include + /* Resource Type */ enum vme_resource_type { VME_MASTER, @@ -54,20 +56,20 @@ enum vme_resource_type { #define VME_R_ROBIN_MODE 0x1 #define VME_PRIORITY_MODE 0x2 -#define VME_DMA_PATTERN (1<<0) -#define VME_DMA_PCI (1<<1) -#define VME_DMA_VME (1<<2) +#define VME_DMA_PATTERN BIT(0) +#define VME_DMA_PCI BIT(1) +#define VME_DMA_VME BIT(2) -#define VME_DMA_PATTERN_BYTE (1<<0) -#define VME_DMA_PATTERN_WORD (1<<1) -#define VME_DMA_PATTERN_INCREMENT (1<<2) +#define VME_DMA_PATTERN_BYTE BIT(0) +#define VME_DMA_PATTERN_WORD BIT(1) +#define VME_DMA_PATTERN_INCREMENT BIT(2) -#define VME_DMA_VME_TO_MEM (1<<0) -#define VME_DMA_MEM_TO_VME (1<<1) -#define VME_DMA_VME_TO_VME (1<<2) -#define VME_DMA_MEM_TO_MEM (1<<3) -#define VME_DMA_PATTERN_TO_VME (1<<4) -#define VME_DMA_PATTERN_TO_MEM (1<<5) +#define VME_DMA_VME_TO_MEM BIT(0) +#define VME_DMA_MEM_TO_VME BIT(1) +#define VME_DMA_VME_TO_VME BIT(2) +#define VME_DMA_MEM_TO_MEM BIT(3) +#define VME_DMA_PATTERN_TO_VME BIT(4) +#define VME_DMA_PATTERN_TO_MEM BIT(5) struct vme_dma_attr { u32 type; From 72b74b646bdd61a4954b3225337d5f735a41761d Mon Sep 17 00:00:00 2001 From: Brent Pappas Date: Tue, 17 Jan 2023 10:28:57 -0500 Subject: [PATCH 007/219] staging: greybus: gpio: Replace macro irq_data_to_gpio_chip with function Replace the macro irq_data_to_gpio_chip with a static inline function to comply with Linux coding style standards. Signed-off-by: Brent Pappas Link: https://lore.kernel.org/r/20230117152857.22141-1-bpappas@pappasbrent.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/gpio.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/staging/greybus/gpio.c b/drivers/staging/greybus/gpio.c index 8a7cf1d0e968..d729b922a750 100644 --- a/drivers/staging/greybus/gpio.c +++ b/drivers/staging/greybus/gpio.c @@ -43,7 +43,11 @@ struct gb_gpio_controller { }; #define gpio_chip_to_gb_gpio_controller(chip) \ container_of(chip, struct gb_gpio_controller, chip) -#define irq_data_to_gpio_chip(d) (d->domain->host_data) + +static struct gpio_chip *irq_data_to_gpio_chip(struct irq_data *d) +{ + return d->domain->host_data; +} static int gb_gpio_line_count_operation(struct gb_gpio_controller *ggc) { From c478aa127eaf9ba67c0da877a67269039f7e94b6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 22 Dec 2022 15:15:53 +0100 Subject: [PATCH 008/219] staging: vchiq_core: Add comments to remote event parts struct remote_event and the related functions remote_event_*() provides a higher function between ARM core and VPU. It's very helpful for a reviewer to have explaining comments about these parts. Signed-off-by: Phil Elwell Signed-off-by: Stefan Wahren Link: https://lore.kernel.org/r/20221222141553.138563-1-stefan.wahren@i2se.com Signed-off-by: Greg Kroah-Hartman --- .../interface/vchiq_arm/vchiq_core.c | 10 ++++++++++ .../interface/vchiq_arm/vchiq_core.h | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c index 45ed30bfdbf5..2571a3742745 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -498,6 +498,7 @@ vchiq_set_conn_state(struct vchiq_state *state, enum vchiq_connstate newstate) vchiq_platform_conn_state_changed(state, oldstate, newstate); } +/* This initialises a single remote_event, and the associated wait_queue. */ static inline void remote_event_create(wait_queue_head_t *wq, struct remote_event *event) { @@ -536,6 +537,10 @@ remote_event_wait(wait_queue_head_t *wq, struct remote_event *event) return 1; } +/* + * Acknowledge that the event has been signalled, and wake any waiters. Usually + * called as a result of the doorbell being rung. + */ static inline void remote_event_signal_local(wait_queue_head_t *wq, struct remote_event *event) { @@ -544,6 +549,7 @@ remote_event_signal_local(wait_queue_head_t *wq, struct remote_event *event) wake_up_all(wq); } +/* Check if a single event has been signalled, waking the waiters if it has. */ static inline void remote_event_poll(wait_queue_head_t *wq, struct remote_event *event) { @@ -551,6 +557,10 @@ remote_event_poll(wait_queue_head_t *wq, struct remote_event *event) remote_event_signal_local(wq, event); } +/* + * VCHIQ used a small, fixed number of remote events. It is simplest to + * enumerate them here for polling. + */ void remote_event_pollall(struct vchiq_state *state) { diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h index 8b4a38f5b3f2..fd6c95e91436 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h @@ -166,6 +166,24 @@ struct vchiq_bulk_queue { struct vchiq_bulk bulks[VCHIQ_NUM_SERVICE_BULKS]; }; +/* + * Remote events provide a way of presenting several virtual doorbells to a + * peer (ARM host to VPU) using only one physical doorbell. They can be thought + * of as a way for the peer to signal a semaphore, in this case implemented as + * a workqueue. + * + * Remote events remain signalled until acknowledged by the receiver, and they + * are non-counting. They are designed in such a way as to minimise the number + * of interrupts and avoid unnecessary waiting. + * + * A remote_event is as small data structures that live in shared memory. It + * comprises two booleans - armed and fired: + * + * The sender sets fired when they signal the receiver. + * If fired is set, the receiver has been signalled and need not wait. + * The receiver sets the armed field before they begin to wait. + * If armed is set, the receiver is waiting and wishes to be woken by interrupt. + */ struct remote_event { int armed; int fired; From 3ba317227aa416a4e50103026aabf3c68e9b30a4 Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Fri, 23 Dec 2022 17:53:58 +0530 Subject: [PATCH 009/219] staging: vc04_services: Replace vchiq_status return type to int Modify the functions' signature using enum vchiq_status to return int. Currently, this patch only touches the function signatures and in subsequent patches each vchiq_status enumerated value will be replaced by a integer value. This patch acts as an initial point to address the TODO item: * Get rid of custom function return values for vc04_services/interface. Signed-off-by: Umang Jain Tested-by: Stefan Wahren Link: https://lore.kernel.org/r/20221223122404.170585-2-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- .../bcm2835-audio/bcm2835-vchiq.c | 8 +-- .../include/linux/raspberrypi/vchiq.h | 59 +++++++++---------- .../interface/vchiq_arm/vchiq_arm.c | 32 +++++----- .../interface/vchiq_arm/vchiq_arm.h | 12 ++-- .../interface/vchiq_arm/vchiq_core.c | 34 +++++------ .../interface/vchiq_arm/vchiq_core.h | 18 +++--- .../interface/vchiq_arm/vchiq_ioctl.h | 8 +-- .../vc04_services/vchiq-mmal/mmal-vchiq.c | 7 +-- 8 files changed, 88 insertions(+), 90 deletions(-) diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c index f4c2c9506d86..0fd92affc264 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c @@ -91,10 +91,10 @@ static int bcm2835_audio_send_simple(struct bcm2835_audio_instance *instance, return bcm2835_audio_send_msg(instance, &m, wait); } -static enum vchiq_status audio_vchi_callback(struct vchiq_instance *vchiq_instance, - enum vchiq_reason reason, - struct vchiq_header *header, - unsigned int handle, void *userdata) +static int audio_vchi_callback(struct vchiq_instance *vchiq_instance, + enum vchiq_reason reason, + struct vchiq_header *header, + unsigned int handle, void *userdata) { struct bcm2835_audio_instance *instance = vchiq_get_service_userdata(vchiq_instance, handle); diff --git a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h index db1441c0cc66..71f4cb5d5cfd 100644 --- a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h +++ b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h @@ -57,11 +57,11 @@ struct vchiq_instance; struct vchiq_service_base { int fourcc; - enum vchiq_status (*callback)(struct vchiq_instance *instance, - enum vchiq_reason reason, - struct vchiq_header *header, - unsigned int handle, - void *bulk_userdata); + int (*callback)(struct vchiq_instance *instance, + enum vchiq_reason reason, + struct vchiq_header *header, + unsigned int handle, + void *bulk_userdata); void *userdata; }; @@ -74,11 +74,11 @@ struct vchiq_completion_data_kernel { struct vchiq_service_params_kernel { int fourcc; - enum vchiq_status (*callback)(struct vchiq_instance *instance, - enum vchiq_reason reason, - struct vchiq_header *header, - unsigned int handle, - void *bulk_userdata); + int (*callback)(struct vchiq_instance *instance, + enum vchiq_reason reason, + struct vchiq_header *header, + unsigned int handle, + void *bulk_userdata); void *userdata; short version; /* Increment for non-trivial changes */ short version_min; /* Update for incompatible changes */ @@ -86,33 +86,32 @@ struct vchiq_service_params_kernel { struct vchiq_instance; -extern enum vchiq_status vchiq_initialise(struct vchiq_instance **pinstance); -extern enum vchiq_status vchiq_shutdown(struct vchiq_instance *instance); -extern enum vchiq_status vchiq_connect(struct vchiq_instance *instance); -extern enum vchiq_status vchiq_open_service(struct vchiq_instance *instance, - const struct vchiq_service_params_kernel *params, - unsigned int *pservice); -extern enum vchiq_status vchiq_close_service(struct vchiq_instance *instance, - unsigned int service); -extern enum vchiq_status vchiq_use_service(struct vchiq_instance *instance, unsigned int service); -extern enum vchiq_status vchiq_release_service(struct vchiq_instance *instance, - unsigned int service); +extern int vchiq_initialise(struct vchiq_instance **pinstance); +extern int vchiq_shutdown(struct vchiq_instance *instance); +extern int vchiq_connect(struct vchiq_instance *instance); +extern int vchiq_open_service(struct vchiq_instance *instance, + const struct vchiq_service_params_kernel *params, + unsigned int *pservice); +extern int vchiq_close_service(struct vchiq_instance *instance, + unsigned int service); +extern int vchiq_use_service(struct vchiq_instance *instance, unsigned int service); +extern int vchiq_release_service(struct vchiq_instance *instance, + unsigned int service); extern void vchiq_msg_queue_push(struct vchiq_instance *instance, unsigned int handle, struct vchiq_header *header); extern void vchiq_release_message(struct vchiq_instance *instance, unsigned int service, struct vchiq_header *header); extern int vchiq_queue_kernel_message(struct vchiq_instance *instance, unsigned int handle, void *data, unsigned int size); -extern enum vchiq_status vchiq_bulk_transmit(struct vchiq_instance *instance, unsigned int service, - const void *data, unsigned int size, void *userdata, - enum vchiq_bulk_mode mode); -extern enum vchiq_status vchiq_bulk_receive(struct vchiq_instance *instance, unsigned int service, - void *data, unsigned int size, void *userdata, - enum vchiq_bulk_mode mode); +extern int vchiq_bulk_transmit(struct vchiq_instance *instance, unsigned int service, + const void *data, unsigned int size, void *userdata, + enum vchiq_bulk_mode mode); +extern int vchiq_bulk_receive(struct vchiq_instance *instance, unsigned int service, + void *data, unsigned int size, void *userdata, + enum vchiq_bulk_mode mode); extern void *vchiq_get_service_userdata(struct vchiq_instance *instance, unsigned int service); -extern enum vchiq_status vchiq_get_peer_version(struct vchiq_instance *instance, - unsigned int handle, - short *peer_version); +extern int vchiq_get_peer_version(struct vchiq_instance *instance, unsigned int handle, + short *peer_version); extern struct vchiq_header *vchiq_msg_hold(struct vchiq_instance *instance, unsigned int handle); #endif /* VCHIQ_H */ diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c index dc33490ba7fb..fa92c34890e0 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -151,7 +151,7 @@ static struct semaphore g_free_fragments_sema; static DEFINE_SEMAPHORE(g_free_fragments_mutex); -static enum vchiq_status +static int vchiq_blocking_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, void *data, unsigned int size, enum vchiq_bulk_dir dir); @@ -722,7 +722,7 @@ void free_bulk_waiter(struct vchiq_instance *instance) } } -enum vchiq_status vchiq_shutdown(struct vchiq_instance *instance) +int vchiq_shutdown(struct vchiq_instance *instance) { enum vchiq_status status = VCHIQ_SUCCESS; struct vchiq_state *state = instance->state; @@ -749,7 +749,7 @@ static int vchiq_is_connected(struct vchiq_instance *instance) return instance->connected; } -enum vchiq_status vchiq_connect(struct vchiq_instance *instance) +int vchiq_connect(struct vchiq_instance *instance) { enum vchiq_status status; struct vchiq_state *state = instance->state; @@ -773,7 +773,7 @@ enum vchiq_status vchiq_connect(struct vchiq_instance *instance) } EXPORT_SYMBOL(vchiq_connect); -static enum vchiq_status +static int vchiq_add_service(struct vchiq_instance *instance, const struct vchiq_service_params_kernel *params, unsigned int *phandle) @@ -803,7 +803,7 @@ vchiq_add_service(struct vchiq_instance *instance, return status; } -enum vchiq_status +int vchiq_open_service(struct vchiq_instance *instance, const struct vchiq_service_params_kernel *params, unsigned int *phandle) @@ -835,7 +835,7 @@ vchiq_open_service(struct vchiq_instance *instance, } EXPORT_SYMBOL(vchiq_open_service); -enum vchiq_status +int vchiq_bulk_transmit(struct vchiq_instance *instance, unsigned int handle, const void *data, unsigned int size, void *userdata, enum vchiq_bulk_mode mode) { @@ -873,9 +873,9 @@ vchiq_bulk_transmit(struct vchiq_instance *instance, unsigned int handle, const } EXPORT_SYMBOL(vchiq_bulk_transmit); -enum vchiq_status vchiq_bulk_receive(struct vchiq_instance *instance, unsigned int handle, - void *data, unsigned int size, void *userdata, - enum vchiq_bulk_mode mode) +int vchiq_bulk_receive(struct vchiq_instance *instance, unsigned int handle, + void *data, unsigned int size, void *userdata, + enum vchiq_bulk_mode mode) { enum vchiq_status status; @@ -910,7 +910,7 @@ enum vchiq_status vchiq_bulk_receive(struct vchiq_instance *instance, unsigned i } EXPORT_SYMBOL(vchiq_bulk_receive); -static enum vchiq_status +static int vchiq_blocking_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, void *data, unsigned int size, enum vchiq_bulk_dir dir) { @@ -983,7 +983,7 @@ vchiq_blocking_bulk_transfer(struct vchiq_instance *instance, unsigned int handl return status; } -static enum vchiq_status +static int add_completion(struct vchiq_instance *instance, enum vchiq_reason reason, struct vchiq_header *header, struct user_service *user_service, void *bulk_userdata) @@ -1044,7 +1044,7 @@ add_completion(struct vchiq_instance *instance, enum vchiq_reason reason, return VCHIQ_SUCCESS; } -enum vchiq_status +int service_callback(struct vchiq_instance *instance, enum vchiq_reason reason, struct vchiq_header *header, unsigned int handle, void *bulk_userdata) { @@ -1314,7 +1314,7 @@ vchiq_get_state(void) * Autosuspend related functionality */ -static enum vchiq_status +static int vchiq_keepalive_vchiq_callback(struct vchiq_instance *instance, enum vchiq_reason reason, struct vchiq_header *header, @@ -1587,7 +1587,7 @@ vchiq_instance_set_trace(struct vchiq_instance *instance, int trace) instance->trace = (trace != 0); } -enum vchiq_status +int vchiq_use_service(struct vchiq_instance *instance, unsigned int handle) { enum vchiq_status ret = VCHIQ_ERROR; @@ -1601,7 +1601,7 @@ vchiq_use_service(struct vchiq_instance *instance, unsigned int handle) } EXPORT_SYMBOL(vchiq_use_service); -enum vchiq_status +int vchiq_release_service(struct vchiq_instance *instance, unsigned int handle) { enum vchiq_status ret = VCHIQ_ERROR; @@ -1695,7 +1695,7 @@ vchiq_dump_service_use_state(struct vchiq_state *state) kfree(service_data); } -enum vchiq_status +int vchiq_check_service(struct vchiq_service *service) { struct vchiq_arm_state *arm_state; diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h index 2851ef6b9cd0..2fb31f9b527f 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h @@ -85,13 +85,13 @@ extern struct vchiq_state g_state; extern struct vchiq_state * vchiq_get_state(void); -enum vchiq_status +int vchiq_use_service(struct vchiq_instance *instance, unsigned int handle); -extern enum vchiq_status +extern int vchiq_release_service(struct vchiq_instance *instance, unsigned int handle); -extern enum vchiq_status +extern int vchiq_check_service(struct vchiq_service *service); extern void @@ -100,10 +100,10 @@ vchiq_dump_platform_use_state(struct vchiq_state *state); extern void vchiq_dump_service_use_state(struct vchiq_state *state); -extern enum vchiq_status +extern int vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service, enum USE_TYPE_E use_type); -extern enum vchiq_status +extern int vchiq_release_internal(struct vchiq_state *state, struct vchiq_service *service); @@ -137,7 +137,7 @@ static inline int vchiq_register_chrdev(struct device *parent) { return 0; } #endif /* IS_ENABLED(CONFIG_VCHIQ_CDEV) */ -extern enum vchiq_status +extern int service_callback(struct vchiq_instance *vchiq_instance, enum vchiq_reason reason, struct vchiq_header *header, unsigned int handle, void *bulk_userdata); diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c index 2571a3742745..e1502ff368b7 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -463,7 +463,7 @@ mark_service_closing(struct vchiq_service *service) mark_service_closing_internal(service, 0); } -static inline enum vchiq_status +static inline int make_service_callback(struct vchiq_service *service, enum vchiq_reason reason, struct vchiq_header *header, void *bulk_userdata) { @@ -910,7 +910,7 @@ copy_message_data(ssize_t (*copy_callback)(void *context, void *dest, size_t off } /* Called by the slot handler and application threads */ -static enum vchiq_status +static int queue_message(struct vchiq_state *state, struct vchiq_service *service, int msgid, ssize_t (*copy_callback)(void *context, void *dest, @@ -1149,7 +1149,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, } /* Called by the slot handler and application threads */ -static enum vchiq_status +static int queue_message_sync(struct vchiq_state *state, struct vchiq_service *service, int msgid, ssize_t (*copy_callback)(void *context, void *dest, @@ -1309,7 +1309,7 @@ get_bulk_reason(struct vchiq_bulk *bulk) } /* Called by the slot handler - don't hold the bulk mutex */ -static enum vchiq_status +static int notify_bulks(struct vchiq_service *service, struct vchiq_bulk_queue *queue, int retry_poll) { @@ -2496,7 +2496,7 @@ vchiq_add_service_internal(struct vchiq_state *state, return service; } -enum vchiq_status +int vchiq_open_service_internal(struct vchiq_service *service, int client_id) { struct vchiq_open_payload payload = { @@ -2619,7 +2619,7 @@ do_abort_bulks(struct vchiq_service *service) return (status == VCHIQ_SUCCESS); } -static enum vchiq_status +static int close_service_complete(struct vchiq_service *service, int failstate) { enum vchiq_status status; @@ -2684,7 +2684,7 @@ close_service_complete(struct vchiq_service *service, int failstate) } /* Called by the slot handler */ -enum vchiq_status +int vchiq_close_service_internal(struct vchiq_service *service, int close_recvd) { struct vchiq_state *state = service->state; @@ -2842,7 +2842,7 @@ vchiq_free_service_internal(struct vchiq_service *service) vchiq_service_put(service); } -enum vchiq_status +int vchiq_connect_internal(struct vchiq_state *state, struct vchiq_instance *instance) { struct vchiq_service *service; @@ -2889,7 +2889,7 @@ vchiq_shutdown_internal(struct vchiq_state *state, struct vchiq_instance *instan } } -enum vchiq_status +int vchiq_close_service(struct vchiq_instance *instance, unsigned int handle) { /* Unregister the service */ @@ -2947,7 +2947,7 @@ vchiq_close_service(struct vchiq_instance *instance, unsigned int handle) } EXPORT_SYMBOL(vchiq_close_service); -enum vchiq_status +int vchiq_remove_service(struct vchiq_instance *instance, unsigned int handle) { /* Unregister the service */ @@ -3014,9 +3014,9 @@ vchiq_remove_service(struct vchiq_instance *instance, unsigned int handle) * When called in blocking mode, the userdata field points to a bulk_waiter * structure. */ -enum vchiq_status vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, - void *offset, void __user *uoffset, int size, void *userdata, - enum vchiq_bulk_mode mode, enum vchiq_bulk_dir dir) +int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, + void *offset, void __user *uoffset, int size, void *userdata, + enum vchiq_bulk_mode mode, enum vchiq_bulk_dir dir) { struct vchiq_service *service = find_service_by_handle(instance, handle); struct vchiq_bulk_queue *queue; @@ -3171,7 +3171,7 @@ enum vchiq_status vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned return status; } -enum vchiq_status +int vchiq_queue_message(struct vchiq_instance *instance, unsigned int handle, ssize_t (*copy_callback)(void *context, void *dest, size_t offset, size_t maxsize), @@ -3287,7 +3287,7 @@ release_message_sync(struct vchiq_state *state, struct vchiq_header *header) remote_event_signal(&state->remote->sync_release); } -enum vchiq_status +int vchiq_get_peer_version(struct vchiq_instance *instance, unsigned int handle, short *peer_version) { enum vchiq_status status = VCHIQ_ERROR; @@ -3650,7 +3650,7 @@ vchiq_loud_error_footer(void) "============================================================================"); } -enum vchiq_status vchiq_send_remote_use(struct vchiq_state *state) +int vchiq_send_remote_use(struct vchiq_state *state) { if (state->conn_state == VCHIQ_CONNSTATE_DISCONNECTED) return VCHIQ_RETRY; @@ -3658,7 +3658,7 @@ enum vchiq_status vchiq_send_remote_use(struct vchiq_state *state) return queue_message(state, NULL, MAKE_REMOTE_USE, NULL, NULL, 0, 0); } -enum vchiq_status vchiq_send_remote_use_active(struct vchiq_state *state) +int vchiq_send_remote_use_active(struct vchiq_state *state) { if (state->conn_state == VCHIQ_CONNSTATE_DISCONNECTED) return VCHIQ_RETRY; diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h index fd6c95e91436..3c198eb1c77a 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h @@ -476,7 +476,7 @@ vchiq_init_slots(void *mem_base, int mem_size); extern int vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero, struct device *dev); -extern enum vchiq_status +extern int vchiq_connect_internal(struct vchiq_state *state, struct vchiq_instance *instance); struct vchiq_service * @@ -485,10 +485,10 @@ vchiq_add_service_internal(struct vchiq_state *state, int srvstate, struct vchiq_instance *instance, void (*userdata_term)(void *userdata)); -extern enum vchiq_status +extern int vchiq_open_service_internal(struct vchiq_service *service, int client_id); -extern enum vchiq_status +extern int vchiq_close_service_internal(struct vchiq_service *service, int close_recvd); extern void @@ -503,7 +503,7 @@ vchiq_shutdown_internal(struct vchiq_state *state, struct vchiq_instance *instan extern void remote_event_pollall(struct vchiq_state *state); -extern enum vchiq_status +extern int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, void *offset, void __user *uoffset, int size, void *userdata, enum vchiq_bulk_mode mode, enum vchiq_bulk_dir dir); @@ -554,7 +554,7 @@ vchiq_service_get(struct vchiq_service *service); extern void vchiq_service_put(struct vchiq_service *service); -extern enum vchiq_status +extern int vchiq_queue_message(struct vchiq_instance *instance, unsigned int handle, ssize_t (*copy_callback)(void *context, void *dest, size_t offset, size_t maxsize), @@ -586,13 +586,13 @@ void vchiq_on_remote_release(struct vchiq_state *state); int vchiq_platform_init_state(struct vchiq_state *state); -enum vchiq_status vchiq_check_service(struct vchiq_service *service); +int vchiq_check_service(struct vchiq_service *service); void vchiq_on_remote_use_active(struct vchiq_state *state); -enum vchiq_status vchiq_send_remote_use(struct vchiq_state *state); +int vchiq_send_remote_use(struct vchiq_state *state); -enum vchiq_status vchiq_send_remote_use_active(struct vchiq_state *state); +int vchiq_send_remote_use_active(struct vchiq_state *state); void vchiq_platform_conn_state_changed(struct vchiq_state *state, enum vchiq_connstate oldstate, @@ -602,7 +602,7 @@ void vchiq_set_conn_state(struct vchiq_state *state, enum vchiq_connstate newsta void vchiq_log_dump_mem(const char *label, u32 addr, const void *void_mem, size_t num_bytes); -enum vchiq_status vchiq_remove_service(struct vchiq_instance *instance, unsigned int service); +int vchiq_remove_service(struct vchiq_instance *instance, unsigned int service); int vchiq_get_client_id(struct vchiq_instance *instance, unsigned int service); diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h index 86d77f2eeea5..96f50beace44 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h @@ -12,10 +12,10 @@ struct vchiq_service_params { int fourcc; - enum vchiq_status __user (*callback)(enum vchiq_reason reason, - struct vchiq_header *header, - unsigned int handle, - void *bulk_userdata); + int __user (*callback)(enum vchiq_reason reason, + struct vchiq_header *header, + unsigned int handle, + void *bulk_userdata); void __user *userdata; short version; /* Increment for non-trivial changes */ short version_min; /* Update for incompatible changes */ diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c index 294b184d4a49..038881827336 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c @@ -548,10 +548,9 @@ static void bulk_abort_cb(struct vchiq_mmal_instance *instance, } /* incoming event service callback */ -static enum vchiq_status service_callback(struct vchiq_instance *vchiq_instance, - enum vchiq_reason reason, - struct vchiq_header *header, - unsigned int handle, void *bulk_ctx) +static int service_callback(struct vchiq_instance *vchiq_instance, + enum vchiq_reason reason, struct vchiq_header *header, + unsigned int handle, void *bulk_ctx) { struct vchiq_mmal_instance *instance = vchiq_get_service_userdata(vchiq_instance, handle); u32 msg_len; From 3414994ba840425b313853a47d581dd5c6c2d300 Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Fri, 23 Dec 2022 17:53:59 +0530 Subject: [PATCH 010/219] staging: vc04_services: Drop VCHIQ_SUCCESS usage Drop the usage of VCHIQ_SUCCESS vchiq_status enum type. Replace it with 0 to report the success status. This patch acts as intermediatory to address the TODO item: * Get rid of custom function return values for vc04_services/interface. Signed-off-by: Umang Jain Tested-by: Stefan Wahren Link: https://lore.kernel.org/r/20221223122404.170585-3-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- .../bcm2835-audio/bcm2835-vchiq.c | 4 +- .../include/linux/raspberrypi/vchiq.h | 1 - .../interface/vchiq_arm/vchiq_arm.c | 36 ++++++------- .../interface/vchiq_arm/vchiq_core.c | 54 +++++++++---------- .../interface/vchiq_arm/vchiq_dev.c | 18 +++---- .../vc04_services/vchiq-mmal/mmal-vchiq.c | 4 +- 6 files changed, 57 insertions(+), 60 deletions(-) diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c index 0fd92affc264..d74110ca17ab 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c @@ -101,7 +101,7 @@ static int audio_vchi_callback(struct vchiq_instance *vchiq_instance, struct vc_audio_msg *m; if (reason != VCHIQ_MESSAGE_AVAILABLE) - return VCHIQ_SUCCESS; + return 0; m = (void *)header->data; if (m->type == VC_AUDIO_MSG_TYPE_RESULT) { @@ -119,7 +119,7 @@ static int audio_vchi_callback(struct vchiq_instance *vchiq_instance, } vchiq_release_message(vchiq_instance, instance->service_handle, header); - return VCHIQ_SUCCESS; + return 0; } static int diff --git a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h index 71f4cb5d5cfd..52c513e5cf3b 100644 --- a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h +++ b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h @@ -19,7 +19,6 @@ enum vchiq_reason { enum vchiq_status { VCHIQ_ERROR = -1, - VCHIQ_SUCCESS = 0, VCHIQ_RETRY = 1 }; diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c index fa92c34890e0..6e4e17272dad 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -724,7 +724,7 @@ void free_bulk_waiter(struct vchiq_instance *instance) int vchiq_shutdown(struct vchiq_instance *instance) { - enum vchiq_status status = VCHIQ_SUCCESS; + int status = 0; struct vchiq_state *state = instance->state; if (mutex_lock_killable(&state->mutex)) @@ -761,7 +761,7 @@ int vchiq_connect(struct vchiq_instance *instance) } status = vchiq_connect_internal(state, instance); - if (status == VCHIQ_SUCCESS) + if (!status) instance->connected = 1; mutex_unlock(&state->mutex); @@ -793,7 +793,7 @@ vchiq_add_service(struct vchiq_instance *instance, if (service) { *phandle = service->handle; - status = VCHIQ_SUCCESS; + status = 0; } else { status = VCHIQ_ERROR; } @@ -822,7 +822,7 @@ vchiq_open_service(struct vchiq_instance *instance, if (service) { *phandle = service->handle; status = vchiq_open_service_internal(service, current->pid); - if (status != VCHIQ_SUCCESS) { + if (status) { vchiq_remove_service(instance, service->handle); *phandle = VCHIQ_SERVICE_HANDLE_INVALID; } @@ -1004,7 +1004,7 @@ add_completion(struct vchiq_instance *instance, enum vchiq_reason reason, return VCHIQ_RETRY; } else if (instance->closing) { vchiq_log_info(vchiq_arm_log_level, "service_callback closing"); - return VCHIQ_SUCCESS; + return 0; } DEBUG_TRACE(SERVICE_CALLBACK_LINE); } @@ -1041,7 +1041,7 @@ add_completion(struct vchiq_instance *instance, enum vchiq_reason reason, complete(&instance->insert_event); - return VCHIQ_SUCCESS; + return 0; } int @@ -1066,14 +1066,14 @@ service_callback(struct vchiq_instance *instance, enum vchiq_reason reason, service = handle_to_service(instance, handle); if (WARN_ON(!service)) { rcu_read_unlock(); - return VCHIQ_SUCCESS; + return 0; } user_service = (struct user_service *)service->base.userdata; if (!instance || instance->closing) { rcu_read_unlock(); - return VCHIQ_SUCCESS; + return 0; } /* @@ -1110,7 +1110,7 @@ service_callback(struct vchiq_instance *instance, enum vchiq_reason reason, DEBUG_TRACE(SERVICE_CALLBACK_LINE); status = add_completion(instance, reason, NULL, user_service, bulk_userdata); - if (status != VCHIQ_SUCCESS) { + if (status) { DEBUG_TRACE(SERVICE_CALLBACK_LINE); vchiq_service_put(service); return status; @@ -1158,7 +1158,7 @@ service_callback(struct vchiq_instance *instance, enum vchiq_reason reason, vchiq_service_put(service); if (skip_completion) - return VCHIQ_SUCCESS; + return 0; return add_completion(instance, reason, header, user_service, bulk_userdata); @@ -1350,14 +1350,14 @@ vchiq_keepalive_thread_func(void *v) } status = vchiq_connect(instance); - if (status != VCHIQ_SUCCESS) { + if (status) { vchiq_log_error(vchiq_susp_log_level, "%s vchiq_connect failed %d", __func__, status); goto shutdown; } status = vchiq_add_service(instance, ¶ms, &ka_handle); - if (status != VCHIQ_SUCCESS) { + if (status) { vchiq_log_error(vchiq_susp_log_level, "%s vchiq_open_service failed %d", __func__, status); goto shutdown; @@ -1386,14 +1386,14 @@ vchiq_keepalive_thread_func(void *v) while (uc--) { atomic_inc(&arm_state->ka_use_ack_count); status = vchiq_use_service(instance, ka_handle); - if (status != VCHIQ_SUCCESS) { + if (status) { vchiq_log_error(vchiq_susp_log_level, "%s vchiq_use_service error %d", __func__, status); } } while (rc--) { status = vchiq_release_service(instance, ka_handle); - if (status != VCHIQ_SUCCESS) { + if (status) { vchiq_log_error(vchiq_susp_log_level, "%s vchiq_release_service error %d", __func__, status); @@ -1446,13 +1446,13 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service, write_unlock_bh(&arm_state->susp_res_lock); if (!ret) { - enum vchiq_status status = VCHIQ_SUCCESS; + int status = 0; long ack_cnt = atomic_xchg(&arm_state->ka_use_ack_count, 0); - while (ack_cnt && (status == VCHIQ_SUCCESS)) { + while (ack_cnt && !status) { /* Send the use notify to videocore */ status = vchiq_send_remote_use_active(state); - if (status == VCHIQ_SUCCESS) + if (!status) ack_cnt--; else atomic_add(ack_cnt, &arm_state->ka_use_ack_count); @@ -1708,7 +1708,7 @@ vchiq_check_service(struct vchiq_service *service) read_lock_bh(&arm_state->susp_res_lock); if (service->service_use_count) - ret = VCHIQ_SUCCESS; + ret = 0; read_unlock_bh(&arm_state->susp_res_lock); if (ret == VCHIQ_ERROR) { diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c index e1502ff368b7..aaca92d9ac8a 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -478,7 +478,7 @@ make_service_callback(struct vchiq_service *service, enum vchiq_reason reason, vchiq_log_warning(vchiq_core_log_level, "%d: ignoring ERROR from callback to service %x", service->state->id, service->handle); - status = VCHIQ_SUCCESS; + status = 0; } if (reason != VCHIQ_MESSAGE_AVAILABLE) @@ -1145,7 +1145,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, remote_event_signal(&state->remote->trigger); - return VCHIQ_SUCCESS; + return 0; } /* Called by the slot handler and application threads */ @@ -1233,7 +1233,7 @@ queue_message_sync(struct vchiq_state *state, struct vchiq_service *service, if (VCHIQ_MSG_TYPE(msgid) != VCHIQ_MSG_PAUSE) mutex_unlock(&state->sync_mutex); - return VCHIQ_SUCCESS; + return 0; } static inline void @@ -1313,7 +1313,7 @@ static int notify_bulks(struct vchiq_service *service, struct vchiq_bulk_queue *queue, int retry_poll) { - enum vchiq_status status = VCHIQ_SUCCESS; + int status = 0; vchiq_log_trace(vchiq_core_log_level, "%d: nb:%d %cx - p=%x rn=%x r=%x", service->state->id, service->localport, (queue == &service->bulk_tx) ? 't' : 'r', @@ -1367,7 +1367,7 @@ notify_bulks(struct vchiq_service *service, struct vchiq_bulk_queue *queue, complete(&service->bulk_remove_event); } if (!retry_poll) - status = VCHIQ_SUCCESS; + status = 0; if (status == VCHIQ_RETRY) request_poll(service->state, service, (queue == &service->bulk_tx) ? @@ -1408,13 +1408,12 @@ poll_services_of_group(struct vchiq_state *state, int group) */ service->public_fourcc = VCHIQ_FOURCC_INVALID; - if (vchiq_close_service_internal(service, NO_CLOSE_RECVD) != - VCHIQ_SUCCESS) + if (vchiq_close_service_internal(service, NO_CLOSE_RECVD)) request_poll(state, service, VCHIQ_POLL_REMOVE); } else if (service_flags & BIT(VCHIQ_POLL_TERMINATE)) { vchiq_log_info(vchiq_core_log_level, "%d: ps - terminate %d<->%d", state->id, service->localport, service->remoteport); - if (vchiq_close_service_internal(service, NO_CLOSE_RECVD) != VCHIQ_SUCCESS) + if (vchiq_close_service_internal(service, NO_CLOSE_RECVD)) request_poll(state, service, VCHIQ_POLL_TERMINATE); } if (service_flags & BIT(VCHIQ_POLL_TXNOTIFY)) @@ -2505,7 +2504,7 @@ vchiq_open_service_internal(struct vchiq_service *service, int client_id) service->version, service->version_min }; - enum vchiq_status status = VCHIQ_SUCCESS; + int status = 0; service->client_id = client_id; vchiq_use_service_internal(service); @@ -2516,7 +2515,7 @@ vchiq_open_service_internal(struct vchiq_service *service, int client_id) sizeof(payload), QMFLAGS_IS_BLOCKING); - if (status != VCHIQ_SUCCESS) + if (status) return status; /* Wait for the ACK/NAK */ @@ -2612,11 +2611,11 @@ do_abort_bulks(struct vchiq_service *service) mutex_unlock(&service->bulk_mutex); status = notify_bulks(service, &service->bulk_tx, NO_RETRY_POLL); - if (status != VCHIQ_SUCCESS) + if (status) return 0; status = notify_bulks(service, &service->bulk_rx, NO_RETRY_POLL); - return (status == VCHIQ_SUCCESS); + return !status; } static int @@ -2688,7 +2687,7 @@ int vchiq_close_service_internal(struct vchiq_service *service, int close_recvd) { struct vchiq_state *state = service->state; - enum vchiq_status status = VCHIQ_SUCCESS; + int status = 0; int is_server = (service->public_fourcc != VCHIQ_FOURCC_INVALID); int close_id = MAKE_CLOSE(service->localport, VCHIQ_MSG_DSTPORT(service->remoteport)); @@ -2740,11 +2739,11 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd) release_service_messages(service); - if (status == VCHIQ_SUCCESS) + if (!status) status = queue_message(state, service, close_id, NULL, NULL, 0, QMFLAGS_NO_MUTEX_UNLOCK); - if (status != VCHIQ_SUCCESS) { + if (status) { if (service->srvstate == VCHIQ_SRVSTATE_OPENSYNC) mutex_unlock(&state->sync_mutex); break; @@ -2778,7 +2777,7 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd) break; } - if (status == VCHIQ_SUCCESS) + if (!status) status = close_service_complete(service, VCHIQ_SRVSTATE_CLOSERECVD); break; @@ -2872,7 +2871,7 @@ vchiq_connect_internal(struct vchiq_state *state, struct vchiq_instance *instanc complete(&state->connect); } - return VCHIQ_SUCCESS; + return 0; } void @@ -2894,7 +2893,7 @@ vchiq_close_service(struct vchiq_instance *instance, unsigned int handle) { /* Unregister the service */ struct vchiq_service *service = find_service_by_handle(instance, handle); - enum vchiq_status status = VCHIQ_SUCCESS; + int status = 0; if (!service) return VCHIQ_ERROR; @@ -2936,7 +2935,7 @@ vchiq_close_service(struct vchiq_instance *instance, unsigned int handle) srvstate_names[service->srvstate]); } - if ((status == VCHIQ_SUCCESS) && + if (!status && (service->srvstate != VCHIQ_SRVSTATE_FREE) && (service->srvstate != VCHIQ_SRVSTATE_LISTENING)) status = VCHIQ_ERROR; @@ -2952,7 +2951,7 @@ vchiq_remove_service(struct vchiq_instance *instance, unsigned int handle) { /* Unregister the service */ struct vchiq_service *service = find_service_by_handle(instance, handle); - enum vchiq_status status = VCHIQ_SUCCESS; + int status = 0; if (!service) return VCHIQ_ERROR; @@ -2997,8 +2996,7 @@ vchiq_remove_service(struct vchiq_instance *instance, unsigned int handle) srvstate_names[service->srvstate]); } - if ((status == VCHIQ_SUCCESS) && - (service->srvstate != VCHIQ_SRVSTATE_FREE)) + if (!status && (service->srvstate != VCHIQ_SRVSTATE_FREE)) status = VCHIQ_ERROR; vchiq_service_put(service); @@ -3038,7 +3036,7 @@ int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, if (!offset && !uoffset) goto error_exit; - if (vchiq_check_service(service) != VCHIQ_SUCCESS) + if (vchiq_check_service(service)) goto error_exit; switch (mode) { @@ -3131,7 +3129,7 @@ int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, QMFLAGS_IS_BLOCKING | QMFLAGS_NO_MUTEX_LOCK | QMFLAGS_NO_MUTEX_UNLOCK); - if (status != VCHIQ_SUCCESS) + if (status) goto unlock_both_error_exit; queue->local_insert++; @@ -3146,7 +3144,7 @@ int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, waiting: vchiq_service_put(service); - status = VCHIQ_SUCCESS; + status = 0; if (bulk_waiter) { bulk_waiter->bulk = bulk; @@ -3185,7 +3183,7 @@ vchiq_queue_message(struct vchiq_instance *instance, unsigned int handle, if (!service) goto error_exit; - if (vchiq_check_service(service) != VCHIQ_SUCCESS) + if (vchiq_check_service(service)) goto error_exit; if (!size) { @@ -3296,14 +3294,14 @@ vchiq_get_peer_version(struct vchiq_instance *instance, unsigned int handle, sho if (!service) goto exit; - if (vchiq_check_service(service) != VCHIQ_SUCCESS) + if (vchiq_check_service(service)) goto exit; if (!peer_version) goto exit; *peer_version = service->peer_version; - status = VCHIQ_SUCCESS; + status = 0; exit: if (service) diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c index 7e297494437e..d9c4d550412e 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c @@ -112,7 +112,7 @@ vchiq_ioc_queue_message(struct vchiq_instance *instance, unsigned int handle, struct vchiq_element *elements, unsigned long count) { struct vchiq_io_copy_callback_context context; - enum vchiq_status status = VCHIQ_SUCCESS; + int status = 0; unsigned long i; size_t total_size = 0; @@ -142,7 +142,7 @@ static int vchiq_ioc_create_service(struct vchiq_instance *instance, { struct user_service *user_service = NULL; struct vchiq_service *service; - enum vchiq_status status = VCHIQ_SUCCESS; + int status = 0; struct vchiq_service_params_kernel params; int srvstate; @@ -190,7 +190,7 @@ static int vchiq_ioc_create_service(struct vchiq_instance *instance, if (args->is_open) { status = vchiq_open_service_internal(service, instance->pid); - if (status != VCHIQ_SUCCESS) { + if (status) { vchiq_remove_service(instance, service->handle); return (status == VCHIQ_RETRY) ? -EINTR : -EIO; @@ -577,7 +577,7 @@ static long vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) { struct vchiq_instance *instance = file->private_data; - enum vchiq_status status = VCHIQ_SUCCESS; + int status = 0; struct vchiq_service *service = NULL; long ret = 0; int i, rc; @@ -598,12 +598,12 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) instance, &i))) { status = vchiq_remove_service(instance, service->handle); vchiq_service_put(service); - if (status != VCHIQ_SUCCESS) + if (status) break; } service = NULL; - if (status == VCHIQ_SUCCESS) { + if (!status) { /* Wake the completion thread and ask it to exit */ instance->closing = 1; complete(&instance->insert_event); @@ -627,7 +627,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) status = vchiq_connect_internal(instance->state, instance); mutex_unlock(&instance->state->mutex); - if (status == VCHIQ_SUCCESS) + if (!status) instance->connected = 1; else vchiq_log_error(vchiq_arm_log_level, @@ -675,7 +675,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) status = (cmd == VCHIQ_IOC_CLOSE_SERVICE) ? vchiq_close_service(instance, service->handle) : vchiq_remove_service(instance, service->handle); - if (status != VCHIQ_SUCCESS) + if (status) break; } @@ -868,7 +868,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ret = -EINTR; } - if ((status == VCHIQ_SUCCESS) && (ret < 0) && (ret != -EINTR) && (ret != -EWOULDBLOCK)) + if (!status && (ret < 0) && (ret != -EINTR) && (ret != -EWOULDBLOCK)) vchiq_log_info(vchiq_arm_log_level, " ioctl instance %pK, cmd %s -> status %d, %ld", instance, (_IOC_NR(cmd) <= VCHIQ_IOC_MAX) ? diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c index 038881827336..6b5879a33780 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c @@ -559,7 +559,7 @@ static int service_callback(struct vchiq_instance *vchiq_instance, if (!instance) { pr_err("Message callback passed NULL instance\n"); - return VCHIQ_SUCCESS; + return 0; } switch (reason) { @@ -643,7 +643,7 @@ static int service_callback(struct vchiq_instance *vchiq_instance, break; } - return VCHIQ_SUCCESS; + return 0; } static int send_synchronous_mmal_msg(struct vchiq_mmal_instance *instance, From ab73dc85328195c10a55b8f0fbc5b0e2749c628a Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Fri, 23 Dec 2022 17:54:00 +0530 Subject: [PATCH 011/219] staging: vc04_services: Drop VCHIQ_ERROR usage Drop the usage of VCHIQ_ERROR vchiq_status enum type. Replace it with -EINVAL to report the error in most cases, -ENOMEM for out-of-memory errors and -EHOSTDOWN for service shutdown. This patch acts as intermediatory to address the TODO item: * Get rid of custom function return values for vc04_services/interface. Signed-off-by: Umang Jain Tested-by: Stefan Wahren Link: https://lore.kernel.org/r/20221223122404.170585-4-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- .../include/linux/raspberrypi/vchiq.h | 1 - .../interface/vchiq_arm/vchiq_arm.c | 24 +++++----- .../interface/vchiq_arm/vchiq_core.c | 44 +++++++++---------- .../interface/vchiq_arm/vchiq_dev.c | 6 +-- 4 files changed, 37 insertions(+), 38 deletions(-) diff --git a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h index 52c513e5cf3b..2ca4461d26ee 100644 --- a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h +++ b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h @@ -18,7 +18,6 @@ enum vchiq_reason { }; enum vchiq_status { - VCHIQ_ERROR = -1, VCHIQ_RETRY = 1 }; diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c index 6e4e17272dad..2415baeccc9c 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -501,7 +501,7 @@ int vchiq_platform_init(struct platform_device *pdev, struct vchiq_state *state) vchiq_slot_zero = vchiq_init_slots(slot_mem, slot_mem_size); if (!vchiq_slot_zero) - return -EINVAL; + return -ENOMEM; vchiq_slot_zero->platform_data[VCHIQ_PLATFORM_FRAGMENTS_OFFSET_IDX] = (int)slot_phys + slot_mem_size; @@ -795,7 +795,7 @@ vchiq_add_service(struct vchiq_instance *instance, *phandle = service->handle; status = 0; } else { - status = VCHIQ_ERROR; + status = -EINVAL; } vchiq_log_trace(vchiq_core_log_level, "%s(%p): returning %d", __func__, instance, status); @@ -808,7 +808,7 @@ vchiq_open_service(struct vchiq_instance *instance, const struct vchiq_service_params_kernel *params, unsigned int *phandle) { - enum vchiq_status status = VCHIQ_ERROR; + int status = -EINVAL; struct vchiq_state *state = instance->state; struct vchiq_service *service = NULL; @@ -855,7 +855,7 @@ vchiq_bulk_transmit(struct vchiq_instance *instance, unsigned int handle, const VCHIQ_BULK_TRANSMIT); break; default: - return VCHIQ_ERROR; + return -EINVAL; } /* @@ -892,7 +892,7 @@ int vchiq_bulk_receive(struct vchiq_instance *instance, unsigned int handle, VCHIQ_BULK_RECEIVE); break; default: - return VCHIQ_ERROR; + return -EINVAL; } /* @@ -920,7 +920,7 @@ vchiq_blocking_bulk_transfer(struct vchiq_instance *instance, unsigned int handl service = find_service_by_handle(instance, handle); if (!service) - return VCHIQ_ERROR; + return -EINVAL; vchiq_service_put(service); @@ -954,7 +954,7 @@ vchiq_blocking_bulk_transfer(struct vchiq_instance *instance, unsigned int handl waiter = kzalloc(sizeof(*waiter), GFP_KERNEL); if (!waiter) { vchiq_log_error(vchiq_core_log_level, "%s - out of memory", __func__); - return VCHIQ_ERROR; + return -ENOMEM; } } @@ -1127,7 +1127,7 @@ service_callback(struct vchiq_instance *instance, enum vchiq_reason reason, vchiq_log_info(vchiq_arm_log_level, "%s closing", __func__); DEBUG_TRACE(SERVICE_CALLBACK_LINE); vchiq_service_put(service); - return VCHIQ_ERROR; + return -EINVAL; } DEBUG_TRACE(SERVICE_CALLBACK_LINE); spin_lock(&msg_queue_spinlock); @@ -1590,7 +1590,7 @@ vchiq_instance_set_trace(struct vchiq_instance *instance, int trace) int vchiq_use_service(struct vchiq_instance *instance, unsigned int handle) { - enum vchiq_status ret = VCHIQ_ERROR; + int ret = -EINVAL; struct vchiq_service *service = find_service_by_handle(instance, handle); if (service) { @@ -1604,7 +1604,7 @@ EXPORT_SYMBOL(vchiq_use_service); int vchiq_release_service(struct vchiq_instance *instance, unsigned int handle) { - enum vchiq_status ret = VCHIQ_ERROR; + int ret = -EINVAL; struct vchiq_service *service = find_service_by_handle(instance, handle); if (service) { @@ -1699,7 +1699,7 @@ int vchiq_check_service(struct vchiq_service *service) { struct vchiq_arm_state *arm_state; - enum vchiq_status ret = VCHIQ_ERROR; + int ret = -EINVAL; if (!service || !service->state) goto out; @@ -1711,7 +1711,7 @@ vchiq_check_service(struct vchiq_service *service) ret = 0; read_unlock_bh(&arm_state->susp_res_lock); - if (ret == VCHIQ_ERROR) { + if (ret) { vchiq_log_error(vchiq_susp_log_level, "%s ERROR - %c%c%c%c:%d service count %d, state count %d", __func__, VCHIQ_FOURCC_AS_4CHARS(service->base.fourcc), service->client_id, diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c index aaca92d9ac8a..7417cba1ecc7 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -467,14 +467,14 @@ static inline int make_service_callback(struct vchiq_service *service, enum vchiq_reason reason, struct vchiq_header *header, void *bulk_userdata) { - enum vchiq_status status; + int status; vchiq_log_trace(vchiq_core_log_level, "%d: callback:%d (%s, %pK, %pK)", service->state->id, service->localport, reason_names[reason], header, bulk_userdata); status = service->base.callback(service->instance, reason, header, service->handle, bulk_userdata); - if (status == VCHIQ_ERROR) { + if (status && (status != VCHIQ_RETRY)) { vchiq_log_warning(vchiq_core_log_level, "%d: ignoring ERROR from callback to service %x", service->state->id, service->handle); @@ -940,7 +940,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, if (!service) { WARN(1, "%s: service is NULL\n", __func__); mutex_unlock(&state->slot_mutex); - return VCHIQ_ERROR; + return -EINVAL; } WARN_ON(flags & (QMFLAGS_NO_MUTEX_LOCK | @@ -949,7 +949,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, if (service->closing) { /* The service has been closed */ mutex_unlock(&state->slot_mutex); - return VCHIQ_ERROR; + return -EHOSTDOWN; } quota = &state->service_quotas[service->localport]; @@ -999,13 +999,13 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, if (wait_for_completion_interruptible("a->quota_event)) return VCHIQ_RETRY; if (service->closing) - return VCHIQ_ERROR; + return -EHOSTDOWN; if (mutex_lock_killable(&state->slot_mutex)) return VCHIQ_RETRY; if (service->srvstate != VCHIQ_SRVSTATE_OPEN) { /* The service has been closed */ mutex_unlock(&state->slot_mutex); - return VCHIQ_ERROR; + return -EHOSTDOWN; } spin_lock("a_spinlock); tx_end_index = SLOT_QUEUE_INDEX_FROM_POS(state->local_tx_pos + stride - 1); @@ -1047,7 +1047,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, if (callback_result < 0) { mutex_unlock(&state->slot_mutex); VCHIQ_SERVICE_STATS_INC(service, error_count); - return VCHIQ_ERROR; + return -EINVAL; } if (SRVTRACE_ENABLED(service, @@ -1195,7 +1195,7 @@ queue_message_sync(struct vchiq_state *state, struct vchiq_service *service, if (callback_result < 0) { mutex_unlock(&state->slot_mutex); VCHIQ_SERVICE_STATS_INC(service, error_count); - return VCHIQ_ERROR; + return -EINVAL; } if (service) { @@ -2530,7 +2530,7 @@ vchiq_open_service_internal(struct vchiq_service *service, int client_id) service->state->id, srvstate_names[service->srvstate], kref_read(&service->ref_count)); - status = VCHIQ_ERROR; + status = -EINVAL; VCHIQ_SERVICE_STATS_INC(service, error_count); vchiq_release_service_internal(service); } @@ -2648,7 +2648,7 @@ close_service_complete(struct vchiq_service *service, int failstate) vchiq_log_error(vchiq_core_log_level, "%s(%x) called in state %s", __func__, service->handle, srvstate_names[service->srvstate]); WARN(1, "%s in unexpected state\n", __func__); - return VCHIQ_ERROR; + return -EINVAL; } status = make_service_callback(service, VCHIQ_SERVICE_CLOSED, NULL, NULL); @@ -2705,7 +2705,7 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd) __func__, srvstate_names[service->srvstate]); } else if (is_server) { if (service->srvstate == VCHIQ_SRVSTATE_LISTENING) { - status = VCHIQ_ERROR; + status = -EINVAL; } else { service->client_id = 0; service->remoteport = VCHIQ_PORT_FREE; @@ -2896,7 +2896,7 @@ vchiq_close_service(struct vchiq_instance *instance, unsigned int handle) int status = 0; if (!service) - return VCHIQ_ERROR; + return -EINVAL; vchiq_log_info(vchiq_core_log_level, "%d: close_service:%d", service->state->id, service->localport); @@ -2905,7 +2905,7 @@ vchiq_close_service(struct vchiq_instance *instance, unsigned int handle) (service->srvstate == VCHIQ_SRVSTATE_LISTENING) || (service->srvstate == VCHIQ_SRVSTATE_HIDDEN)) { vchiq_service_put(service); - return VCHIQ_ERROR; + return -EINVAL; } mark_service_closing(service); @@ -2938,7 +2938,7 @@ vchiq_close_service(struct vchiq_instance *instance, unsigned int handle) if (!status && (service->srvstate != VCHIQ_SRVSTATE_FREE) && (service->srvstate != VCHIQ_SRVSTATE_LISTENING)) - status = VCHIQ_ERROR; + status = -EINVAL; vchiq_service_put(service); @@ -2954,14 +2954,14 @@ vchiq_remove_service(struct vchiq_instance *instance, unsigned int handle) int status = 0; if (!service) - return VCHIQ_ERROR; + return -EINVAL; vchiq_log_info(vchiq_core_log_level, "%d: remove_service:%d", service->state->id, service->localport); if (service->srvstate == VCHIQ_SRVSTATE_FREE) { vchiq_service_put(service); - return VCHIQ_ERROR; + return -EINVAL; } mark_service_closing(service); @@ -2997,7 +2997,7 @@ vchiq_remove_service(struct vchiq_instance *instance, unsigned int handle) } if (!status && (service->srvstate != VCHIQ_SRVSTATE_FREE)) - status = VCHIQ_ERROR; + status = -EINVAL; vchiq_service_put(service); @@ -3024,7 +3024,7 @@ int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, const char dir_char = (dir == VCHIQ_BULK_TRANSMIT) ? 't' : 'r'; const int dir_msgtype = (dir == VCHIQ_BULK_TRANSMIT) ? VCHIQ_MSG_BULK_TX : VCHIQ_MSG_BULK_RX; - enum vchiq_status status = VCHIQ_ERROR; + int status = -EINVAL; int payload[2]; if (!service) @@ -3151,7 +3151,7 @@ int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, if (wait_for_completion_interruptible(&bulk_waiter->event)) status = VCHIQ_RETRY; else if (bulk_waiter->actual == VCHIQ_BULK_ACTUAL_ABORTED) - status = VCHIQ_ERROR; + status = -EINVAL; } return status; @@ -3177,7 +3177,7 @@ vchiq_queue_message(struct vchiq_instance *instance, unsigned int handle, size_t size) { struct vchiq_service *service = find_service_by_handle(instance, handle); - enum vchiq_status status = VCHIQ_ERROR; + int status = -EINVAL; int data_id; if (!service) @@ -3208,7 +3208,7 @@ vchiq_queue_message(struct vchiq_instance *instance, unsigned int handle, copy_callback, context, size, 1); break; default: - status = VCHIQ_ERROR; + status = -EINVAL; break; } @@ -3288,7 +3288,7 @@ release_message_sync(struct vchiq_state *state, struct vchiq_header *header) int vchiq_get_peer_version(struct vchiq_instance *instance, unsigned int handle, short *peer_version) { - enum vchiq_status status = VCHIQ_ERROR; + int status = -EINVAL; struct vchiq_service *service = find_service_by_handle(instance, handle); if (!service) diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c index d9c4d550412e..df274192937e 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c @@ -130,7 +130,7 @@ vchiq_ioc_queue_message(struct vchiq_instance *instance, unsigned int handle, status = vchiq_queue_message(instance, handle, vchiq_ioc_copy_element_data, &context, total_size); - if (status == VCHIQ_ERROR) + if (status == -EINVAL) return -EIO; else if (status == VCHIQ_RETRY) return -EINTR; @@ -364,7 +364,7 @@ static int vchiq_irq_queue_bulk_tx_rx(struct vchiq_instance *instance, vchiq_service_put(service); if (ret) return ret; - else if (status == VCHIQ_ERROR) + else if (status == -EINVAL) return -EIO; else if (status == VCHIQ_RETRY) return -EINTR; @@ -862,7 +862,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) vchiq_service_put(service); if (ret == 0) { - if (status == VCHIQ_ERROR) + if (status == -EINVAL) ret = -EIO; else if (status == VCHIQ_RETRY) ret = -EINTR; From 82a9eb4a3561e1d6d408754f5516af7a59019df2 Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Fri, 23 Dec 2022 17:54:01 +0530 Subject: [PATCH 012/219] staging: vc04_services: Drop VCHIQ_RETRY usage Drop the usage of VCHIQ_RETRY vchiq_status enum type in most of the places and replace it with -EAGAIN. The exception to this replacement is vchiq_send_remote_use() and vchiq_send_remote_use_active() which will be addressed in the subsequent commit. This patch acts as intermediatory to address the TODO item: * Get rid of custom function return values for vc04_services/interface. Signed-off-by: Umang Jain Tested-by: Stefan Wahren Link: https://lore.kernel.org/r/20221223122404.170585-5-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- .../interface/vchiq_arm/vchiq_arm.c | 18 ++--- .../interface/vchiq_arm/vchiq_core.c | 76 +++++++++---------- .../interface/vchiq_arm/vchiq_dev.c | 12 +-- 3 files changed, 53 insertions(+), 53 deletions(-) diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c index 2415baeccc9c..5cfad840bd18 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -728,7 +728,7 @@ int vchiq_shutdown(struct vchiq_instance *instance) struct vchiq_state *state = instance->state; if (mutex_lock_killable(&state->mutex)) - return VCHIQ_RETRY; + return -EAGAIN; /* Remove all services */ vchiq_shutdown_internal(state, instance); @@ -756,7 +756,7 @@ int vchiq_connect(struct vchiq_instance *instance) if (mutex_lock_killable(&state->mutex)) { vchiq_log_trace(vchiq_core_log_level, "%s: call to mutex_lock failed", __func__); - status = VCHIQ_RETRY; + status = -EAGAIN; goto failed; } status = vchiq_connect_internal(state, instance); @@ -859,11 +859,11 @@ vchiq_bulk_transmit(struct vchiq_instance *instance, unsigned int handle, const } /* - * vchiq_*_bulk_transfer() may return VCHIQ_RETRY, so we need + * vchiq_*_bulk_transfer() may return -EAGAIN, so we need * to implement a retry mechanism since this function is * supposed to block until queued */ - if (status != VCHIQ_RETRY) + if (status != -EAGAIN) break; msleep(1); @@ -896,11 +896,11 @@ int vchiq_bulk_receive(struct vchiq_instance *instance, unsigned int handle, } /* - * vchiq_*_bulk_transfer() may return VCHIQ_RETRY, so we need + * vchiq_*_bulk_transfer() may return -EAGAIN, so we need * to implement a retry mechanism since this function is * supposed to block until queued */ - if (status != VCHIQ_RETRY) + if (status != -EAGAIN) break; msleep(1); @@ -961,7 +961,7 @@ vchiq_blocking_bulk_transfer(struct vchiq_instance *instance, unsigned int handl status = vchiq_bulk_transfer(instance, handle, data, NULL, size, &waiter->bulk_waiter, VCHIQ_BULK_MODE_BLOCKING, dir); - if ((status != VCHIQ_RETRY) || fatal_signal_pending(current) || !waiter->bulk_waiter.bulk) { + if ((status != -EAGAIN) || fatal_signal_pending(current) || !waiter->bulk_waiter.bulk) { struct vchiq_bulk *bulk = waiter->bulk_waiter.bulk; if (bulk) { @@ -1001,7 +1001,7 @@ add_completion(struct vchiq_instance *instance, enum vchiq_reason reason, DEBUG_COUNT(COMPLETION_QUEUE_FULL_COUNT); if (wait_for_completion_interruptible(&instance->remove_event)) { vchiq_log_info(vchiq_arm_log_level, "service_callback interrupted"); - return VCHIQ_RETRY; + return -EAGAIN; } else if (instance->closing) { vchiq_log_info(vchiq_arm_log_level, "service_callback closing"); return 0; @@ -1122,7 +1122,7 @@ service_callback(struct vchiq_instance *instance, enum vchiq_reason reason, vchiq_log_info(vchiq_arm_log_level, "%s interrupted", __func__); DEBUG_TRACE(SERVICE_CALLBACK_LINE); vchiq_service_put(service); - return VCHIQ_RETRY; + return -EAGAIN; } else if (instance->closing) { vchiq_log_info(vchiq_arm_log_level, "%s closing", __func__); DEBUG_TRACE(SERVICE_CALLBACK_LINE); diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c index 7417cba1ecc7..5a500fa7c908 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -474,7 +474,7 @@ make_service_callback(struct vchiq_service *service, enum vchiq_reason reason, header, bulk_userdata); status = service->base.callback(service->instance, reason, header, service->handle, bulk_userdata); - if (status && (status != VCHIQ_RETRY)) { + if (status && (status != -EAGAIN)) { vchiq_log_warning(vchiq_core_log_level, "%d: ignoring ERROR from callback to service %x", service->state->id, service->handle); @@ -932,7 +932,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, if (!(flags & QMFLAGS_NO_MUTEX_LOCK) && mutex_lock_killable(&state->slot_mutex)) - return VCHIQ_RETRY; + return -EAGAIN; if (type == VCHIQ_MSG_DATA) { int tx_end_index; @@ -973,7 +973,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, mutex_unlock(&state->slot_mutex); if (wait_for_completion_interruptible(&state->data_quota_event)) - return VCHIQ_RETRY; + return -EAGAIN; mutex_lock(&state->slot_mutex); spin_lock("a_spinlock); @@ -997,11 +997,11 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, VCHIQ_SERVICE_STATS_INC(service, quota_stalls); mutex_unlock(&state->slot_mutex); if (wait_for_completion_interruptible("a->quota_event)) - return VCHIQ_RETRY; + return -EAGAIN; if (service->closing) return -EHOSTDOWN; if (mutex_lock_killable(&state->slot_mutex)) - return VCHIQ_RETRY; + return -EAGAIN; if (service->srvstate != VCHIQ_SRVSTATE_OPEN) { /* The service has been closed */ mutex_unlock(&state->slot_mutex); @@ -1025,7 +1025,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service, */ if (!(flags & QMFLAGS_NO_MUTEX_LOCK)) mutex_unlock(&state->slot_mutex); - return VCHIQ_RETRY; + return -EAGAIN; } if (type == VCHIQ_MSG_DATA) { @@ -1164,7 +1164,7 @@ queue_message_sync(struct vchiq_state *state, struct vchiq_service *service, if (VCHIQ_MSG_TYPE(msgid) != VCHIQ_MSG_RESUME && mutex_lock_killable(&state->sync_mutex)) - return VCHIQ_RETRY; + return -EAGAIN; remote_event_wait(&state->sync_release_event, &local->sync_release); @@ -1358,7 +1358,7 @@ notify_bulks(struct vchiq_service *service, struct vchiq_bulk_queue *queue, get_bulk_reason(bulk); status = make_service_callback(service, reason, NULL, bulk->userdata); - if (status == VCHIQ_RETRY) + if (status == -EAGAIN) break; } } @@ -1369,7 +1369,7 @@ notify_bulks(struct vchiq_service *service, struct vchiq_bulk_queue *queue, if (!retry_poll) status = 0; - if (status == VCHIQ_RETRY) + if (status == -EAGAIN) request_poll(service->state, service, (queue == &service->bulk_tx) ? VCHIQ_POLL_TXNOTIFY : VCHIQ_POLL_RXNOTIFY); @@ -1536,14 +1536,14 @@ parse_open(struct vchiq_state *state, struct vchiq_header *header) /* Acknowledge the OPEN */ if (service->sync) { if (queue_message_sync(state, NULL, openack_id, memcpy_copy_callback, - &ack_payload, sizeof(ack_payload), 0) == VCHIQ_RETRY) + &ack_payload, sizeof(ack_payload), 0) == -EAGAIN) goto bail_not_ready; /* The service is now open */ set_service_state(service, VCHIQ_SRVSTATE_OPENSYNC); } else { if (queue_message(state, NULL, openack_id, memcpy_copy_callback, - &ack_payload, sizeof(ack_payload), 0) == VCHIQ_RETRY) + &ack_payload, sizeof(ack_payload), 0) == -EAGAIN) goto bail_not_ready; /* The service is now open */ @@ -1558,7 +1558,7 @@ parse_open(struct vchiq_state *state, struct vchiq_header *header) fail_open: /* No available service, or an invalid request - send a CLOSE */ if (queue_message(state, NULL, MAKE_CLOSE(0, VCHIQ_MSG_SRCPORT(msgid)), - NULL, NULL, 0, 0) == VCHIQ_RETRY) + NULL, NULL, 0, 0) == -EAGAIN) goto bail_not_ready; return 1; @@ -1697,7 +1697,7 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header) mark_service_closing_internal(service, 1); - if (vchiq_close_service_internal(service, CLOSE_RECVD) == VCHIQ_RETRY) + if (vchiq_close_service_internal(service, CLOSE_RECVD) == -EAGAIN) goto bail_not_ready; vchiq_log_info(vchiq_core_log_level, "Close Service %c%c%c%c s:%u d:%d", @@ -1714,7 +1714,7 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header) claim_slot(state->rx_info); DEBUG_TRACE(PARSE_LINE); if (make_service_callback(service, VCHIQ_MESSAGE_AVAILABLE, header, - NULL) == VCHIQ_RETRY) { + NULL) == -EAGAIN) { DEBUG_TRACE(PARSE_LINE); goto bail_not_ready; } @@ -1812,7 +1812,7 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header) if (state->conn_state != VCHIQ_CONNSTATE_PAUSE_SENT) { /* Send a PAUSE in response */ if (queue_message(state, NULL, MAKE_PAUSE, NULL, NULL, 0, - QMFLAGS_NO_MUTEX_UNLOCK) == VCHIQ_RETRY) + QMFLAGS_NO_MUTEX_UNLOCK) == -EAGAIN) goto bail_not_ready; } /* At this point slot_mutex is held */ @@ -1929,7 +1929,7 @@ handle_poll(struct vchiq_state *state) case VCHIQ_CONNSTATE_PAUSING: if (queue_message(state, NULL, MAKE_PAUSE, NULL, NULL, 0, - QMFLAGS_NO_MUTEX_UNLOCK) != VCHIQ_RETRY) { + QMFLAGS_NO_MUTEX_UNLOCK) != -EAGAIN) { vchiq_set_conn_state(state, VCHIQ_CONNSTATE_PAUSE_SENT); } else { /* Retry later */ @@ -1939,7 +1939,7 @@ handle_poll(struct vchiq_state *state) case VCHIQ_CONNSTATE_RESUMING: if (queue_message(state, NULL, MAKE_RESUME, NULL, NULL, 0, - QMFLAGS_NO_MUTEX_LOCK) != VCHIQ_RETRY) { + QMFLAGS_NO_MUTEX_LOCK) != -EAGAIN) { vchiq_set_conn_state(state, VCHIQ_CONNSTATE_CONNECTED); } else { /* @@ -2095,9 +2095,9 @@ sync_func(void *v) if ((service->remoteport == remoteport) && (service->srvstate == VCHIQ_SRVSTATE_OPENSYNC)) { if (make_service_callback(service, VCHIQ_MESSAGE_AVAILABLE, header, - NULL) == VCHIQ_RETRY) + NULL) == -EAGAIN) vchiq_log_error(vchiq_sync_log_level, - "synchronous callback to service %d returns VCHIQ_RETRY", + "synchronous callback to service %d returns -EAGAIN", localport); } break; @@ -2520,7 +2520,7 @@ vchiq_open_service_internal(struct vchiq_service *service, int client_id) /* Wait for the ACK/NAK */ if (wait_for_completion_interruptible(&service->remove_event)) { - status = VCHIQ_RETRY; + status = -EAGAIN; vchiq_release_service_internal(service); } else if ((service->srvstate != VCHIQ_SRVSTATE_OPEN) && (service->srvstate != VCHIQ_SRVSTATE_OPENSYNC)) { @@ -2653,7 +2653,7 @@ close_service_complete(struct vchiq_service *service, int failstate) status = make_service_callback(service, VCHIQ_SERVICE_CLOSED, NULL, NULL); - if (status != VCHIQ_RETRY) { + if (status != -EAGAIN) { int uc = service->service_use_count; int i; /* Complete the close process */ @@ -2734,7 +2734,7 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd) case VCHIQ_SRVSTATE_OPEN: if (close_recvd) { if (!do_abort_bulks(service)) - status = VCHIQ_RETRY; + status = -EAGAIN; } release_service_messages(service); @@ -2773,7 +2773,7 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd) break; if (!do_abort_bulks(service)) { - status = VCHIQ_RETRY; + status = -EAGAIN; break; } @@ -2857,15 +2857,15 @@ vchiq_connect_internal(struct vchiq_state *state, struct vchiq_instance *instanc if (state->conn_state == VCHIQ_CONNSTATE_DISCONNECTED) { if (queue_message(state, NULL, MAKE_CONNECT, NULL, NULL, 0, - QMFLAGS_IS_BLOCKING) == VCHIQ_RETRY) - return VCHIQ_RETRY; + QMFLAGS_IS_BLOCKING) == -EAGAIN) + return -EAGAIN; vchiq_set_conn_state(state, VCHIQ_CONNSTATE_CONNECTING); } if (state->conn_state == VCHIQ_CONNSTATE_CONNECTING) { if (wait_for_completion_interruptible(&state->connect)) - return VCHIQ_RETRY; + return -EAGAIN; vchiq_set_conn_state(state, VCHIQ_CONNSTATE_CONNECTED); complete(&state->connect); @@ -2912,7 +2912,7 @@ vchiq_close_service(struct vchiq_instance *instance, unsigned int handle) if (current == service->state->slot_handler_thread) { status = vchiq_close_service_internal(service, NO_CLOSE_RECVD); - WARN_ON(status == VCHIQ_RETRY); + WARN_ON(status == -EAGAIN); } else { /* Mark the service for termination by the slot handler */ request_poll(service->state, service, VCHIQ_POLL_TERMINATE); @@ -2920,7 +2920,7 @@ vchiq_close_service(struct vchiq_instance *instance, unsigned int handle) while (1) { if (wait_for_completion_interruptible(&service->remove_event)) { - status = VCHIQ_RETRY; + status = -EAGAIN; break; } @@ -2975,14 +2975,14 @@ vchiq_remove_service(struct vchiq_instance *instance, unsigned int handle) service->public_fourcc = VCHIQ_FOURCC_INVALID; status = vchiq_close_service_internal(service, NO_CLOSE_RECVD); - WARN_ON(status == VCHIQ_RETRY); + WARN_ON(status == -EAGAIN); } else { /* Mark the service for removal by the slot handler */ request_poll(service->state, service, VCHIQ_POLL_REMOVE); } while (1) { if (wait_for_completion_interruptible(&service->remove_event)) { - status = VCHIQ_RETRY; + status = -EAGAIN; break; } @@ -3006,7 +3006,7 @@ vchiq_remove_service(struct vchiq_instance *instance, unsigned int handle) /* * This function may be called by kernel threads or user threads. - * User threads may receive VCHIQ_RETRY to indicate that a signal has been + * User threads may receive -EAGAIN to indicate that a signal has been * received and the call should be retried after being returned to user * context. * When called in blocking mode, the userdata field points to a bulk_waiter @@ -3063,7 +3063,7 @@ int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, &service->bulk_tx : &service->bulk_rx; if (mutex_lock_killable(&service->bulk_mutex)) { - status = VCHIQ_RETRY; + status = -EAGAIN; goto error_exit; } @@ -3072,11 +3072,11 @@ int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, do { mutex_unlock(&service->bulk_mutex); if (wait_for_completion_interruptible(&service->bulk_remove_event)) { - status = VCHIQ_RETRY; + status = -EAGAIN; goto error_exit; } if (mutex_lock_killable(&service->bulk_mutex)) { - status = VCHIQ_RETRY; + status = -EAGAIN; goto error_exit; } } while (queue->local_insert == queue->remove + @@ -3109,7 +3109,7 @@ int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, * claim it here to ensure that isn't happening */ if (mutex_lock_killable(&state->slot_mutex)) { - status = VCHIQ_RETRY; + status = -EAGAIN; goto cancel_bulk_error_exit; } @@ -3149,7 +3149,7 @@ int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle, if (bulk_waiter) { bulk_waiter->bulk = bulk; if (wait_for_completion_interruptible(&bulk_waiter->event)) - status = VCHIQ_RETRY; + status = -EAGAIN; else if (bulk_waiter->actual == VCHIQ_BULK_ACTUAL_ABORTED) status = -EINVAL; } @@ -3229,11 +3229,11 @@ int vchiq_queue_kernel_message(struct vchiq_instance *instance, unsigned int han data, size); /* - * vchiq_queue_message() may return VCHIQ_RETRY, so we need to + * vchiq_queue_message() may return -EAGAIN, so we need to * implement a retry mechanism since this function is supposed * to block until queued */ - if (status != VCHIQ_RETRY) + if (status != -EAGAIN) break; msleep(1); diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c index df274192937e..841e1a535642 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c @@ -132,7 +132,7 @@ vchiq_ioc_queue_message(struct vchiq_instance *instance, unsigned int handle, if (status == -EINVAL) return -EIO; - else if (status == VCHIQ_RETRY) + else if (status == -EAGAIN) return -EINTR; return 0; } @@ -192,7 +192,7 @@ static int vchiq_ioc_create_service(struct vchiq_instance *instance, status = vchiq_open_service_internal(service, instance->pid); if (status) { vchiq_remove_service(instance, service->handle); - return (status == VCHIQ_RETRY) ? + return (status == -EAGAIN) ? -EINTR : -EIO; } } @@ -338,7 +338,7 @@ static int vchiq_irq_queue_bulk_tx_rx(struct vchiq_instance *instance, goto out; } - if ((status != VCHIQ_RETRY) || fatal_signal_pending(current) || + if ((status != -EAGAIN) || fatal_signal_pending(current) || !waiter->bulk_waiter.bulk) { if (waiter->bulk_waiter.bulk) { /* Cancel the signal when the transfer completes. */ @@ -366,7 +366,7 @@ static int vchiq_irq_queue_bulk_tx_rx(struct vchiq_instance *instance, return ret; else if (status == -EINVAL) return -EIO; - else if (status == VCHIQ_RETRY) + else if (status == -EAGAIN) return -EINTR; return 0; } @@ -686,7 +686,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) */ if (user_service->close_pending && wait_for_completion_interruptible(&user_service->close_event)) - status = VCHIQ_RETRY; + status = -EAGAIN; break; } @@ -864,7 +864,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg) if (ret == 0) { if (status == -EINVAL) ret = -EIO; - else if (status == VCHIQ_RETRY) + else if (status == -EAGAIN) ret = -EINTR; } From 030691e1357b99110382b4780f8f5d5715565dde Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Fri, 23 Dec 2022 17:54:02 +0530 Subject: [PATCH 013/219] staging: vc04_services: vchiq_arm: Drop VCHIQ_RETRY usage on disconnect Drop the usage of VCHIQ_RETRY when the vchiq has connection status VCHIQ_CONNSTATE_DISCONNECTED. Disconnected status will not be valid to carry on a retry, hence replace the VCHIQ_RETRY with -ENOTCONN. This patch removes the usage of vCHIQ_RETRY completely and act as intermediatory to address the TODO item: * Get rid of custom function return values for vc04_services/interface. Signed-off-by: Umang Jain Tested-by: Stefan Wahren Link: https://lore.kernel.org/r/20221223122404.170585-6-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- .../staging/vc04_services/interface/vchiq_arm/vchiq_core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c index 5a500fa7c908..7d0d5763d3c8 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -3651,7 +3651,7 @@ vchiq_loud_error_footer(void) int vchiq_send_remote_use(struct vchiq_state *state) { if (state->conn_state == VCHIQ_CONNSTATE_DISCONNECTED) - return VCHIQ_RETRY; + return -ENOTCONN; return queue_message(state, NULL, MAKE_REMOTE_USE, NULL, NULL, 0, 0); } @@ -3659,7 +3659,7 @@ int vchiq_send_remote_use(struct vchiq_state *state) int vchiq_send_remote_use_active(struct vchiq_state *state) { if (state->conn_state == VCHIQ_CONNSTATE_DISCONNECTED) - return VCHIQ_RETRY; + return -ENOTCONN; return queue_message(state, NULL, MAKE_REMOTE_USE_ACTIVE, NULL, NULL, 0, 0); From 5eec030686c874af73a47cf1366e2867301d4bc5 Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Fri, 23 Dec 2022 17:54:03 +0530 Subject: [PATCH 014/219] staging: vc04_services: Drop enum vchiq_status remnants Drop all references to enum vchiq_status as they are no longer in use. Signed-off-by: Umang Jain Tested-by: Stefan Wahren Link: https://lore.kernel.org/r/20221223122404.170585-7-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- .../include/linux/raspberrypi/vchiq.h | 4 ---- .../vc04_services/interface/vchiq_arm/vchiq_arm.c | 14 +++++++------- .../vc04_services/interface/vchiq_arm/vchiq_core.c | 6 +++--- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h index 2ca4461d26ee..66965da11443 100644 --- a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h +++ b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h @@ -17,10 +17,6 @@ enum vchiq_reason { VCHIQ_BULK_RECEIVE_ABORTED /* service, -, bulk_userdata */ }; -enum vchiq_status { - VCHIQ_RETRY = 1 -}; - enum vchiq_bulk_mode { VCHIQ_BULK_MODE_CALLBACK, VCHIQ_BULK_MODE_BLOCKING, diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c index 5cfad840bd18..22de23f3af02 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -751,7 +751,7 @@ static int vchiq_is_connected(struct vchiq_instance *instance) int vchiq_connect(struct vchiq_instance *instance) { - enum vchiq_status status; + int status; struct vchiq_state *state = instance->state; if (mutex_lock_killable(&state->mutex)) { @@ -778,7 +778,7 @@ vchiq_add_service(struct vchiq_instance *instance, const struct vchiq_service_params_kernel *params, unsigned int *phandle) { - enum vchiq_status status; + int status; struct vchiq_state *state = instance->state; struct vchiq_service *service = NULL; int srvstate; @@ -839,7 +839,7 @@ int vchiq_bulk_transmit(struct vchiq_instance *instance, unsigned int handle, const void *data, unsigned int size, void *userdata, enum vchiq_bulk_mode mode) { - enum vchiq_status status; + int status; while (1) { switch (mode) { @@ -877,7 +877,7 @@ int vchiq_bulk_receive(struct vchiq_instance *instance, unsigned int handle, void *data, unsigned int size, void *userdata, enum vchiq_bulk_mode mode) { - enum vchiq_status status; + int status; while (1) { switch (mode) { @@ -915,7 +915,7 @@ vchiq_blocking_bulk_transfer(struct vchiq_instance *instance, unsigned int handl unsigned int size, enum vchiq_bulk_dir dir) { struct vchiq_service *service; - enum vchiq_status status; + int status; struct bulk_waiter_node *waiter = NULL, *iter; service = find_service_by_handle(instance, handle); @@ -1103,7 +1103,7 @@ service_callback(struct vchiq_instance *instance, enum vchiq_reason reason, */ if ((user_service->message_available_pos - instance->completion_remove) < 0) { - enum vchiq_status status; + int status; vchiq_log_info(vchiq_arm_log_level, "Inserting extra MESSAGE_AVAILABLE"); @@ -1330,7 +1330,7 @@ vchiq_keepalive_thread_func(void *v) struct vchiq_state *state = (struct vchiq_state *)v; struct vchiq_arm_state *arm_state = vchiq_platform_get_arm_state(state); - enum vchiq_status status; + int status; struct vchiq_instance *instance; unsigned int ka_handle; int ret; diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c index 7d0d5763d3c8..596894338cb4 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -2601,7 +2601,7 @@ release_service_messages(struct vchiq_service *service) static int do_abort_bulks(struct vchiq_service *service) { - enum vchiq_status status; + int status; /* Abort any outstanding bulk transfers */ if (mutex_lock_killable(&service->bulk_mutex)) @@ -2621,7 +2621,7 @@ do_abort_bulks(struct vchiq_service *service) static int close_service_complete(struct vchiq_service *service, int failstate) { - enum vchiq_status status; + int status; int is_server = (service->public_fourcc != VCHIQ_FOURCC_INVALID); int newstate; @@ -3222,7 +3222,7 @@ vchiq_queue_message(struct vchiq_instance *instance, unsigned int handle, int vchiq_queue_kernel_message(struct vchiq_instance *instance, unsigned int handle, void *data, unsigned int size) { - enum vchiq_status status; + int status; while (1) { status = vchiq_queue_message(instance, handle, memcpy_copy_callback, From 471213a3776e18caf70aee694358511274e33e9a Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Fri, 23 Dec 2022 17:54:04 +0530 Subject: [PATCH 015/219] staging: vc04_services: vchiq: Drop custom return values from TODO The custom return values (enum vchiq_status) has been dropped. Remove the TODO entry for the same. Signed-off-by: Umang Jain Tested-by: Stefan Wahren Link: https://lore.kernel.org/r/20221223122404.170585-8-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vc04_services/interface/TODO | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/staging/vc04_services/interface/TODO b/drivers/staging/vc04_services/interface/TODO index 97085a0b3223..6d9d4a800aa7 100644 --- a/drivers/staging/vc04_services/interface/TODO +++ b/drivers/staging/vc04_services/interface/TODO @@ -40,11 +40,6 @@ beneficial to go over all of them and, if correct, comment on their merits. Extra points to whomever confidently reviews the remote_event_*() family of functions. -* Get rid of custom function return values - -Most functions use a custom set of return values, we should force proper Linux -error numbers. Special care is needed for VCHIQ_RETRY. - * Reformat core code with more sane indentations The code follows the 80 characters limitation yet tends to go 3 or 4 levels of From 7097dc4e5b71cafd653cc2c1ed660f6e8f565480 Mon Sep 17 00:00:00 2001 From: Xu Panda Date: Mon, 26 Dec 2022 19:03:24 +0800 Subject: [PATCH 016/219] staging: ks7010: use strscpy() to instead of strncpy() The implementation of strscpy() is more robust and safer. That's now the recommended way to copy NUL-terminated strings. Signed-off-by: Xu Panda Signed-off-by: Yang Yang Reviewed-by: Dan Carpenter Reviewed-by: Dan Carpenter Link: https://lore.kernel.org/r/202212261903245548969@zte.com.cn Signed-off-by: Greg Kroah-Hartman --- drivers/staging/ks7010/ks_wlan_net.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/ks7010/ks_wlan_net.c b/drivers/staging/ks7010/ks_wlan_net.c index 044c807ca022..e03c87f0bfe7 100644 --- a/drivers/staging/ks7010/ks_wlan_net.c +++ b/drivers/staging/ks7010/ks_wlan_net.c @@ -382,8 +382,7 @@ static int ks_wlan_get_nick(struct net_device *dev, return -EPERM; /* for SLEEP MODE */ - strncpy(extra, priv->nick, 16); - extra[16] = '\0'; + strscpy(extra, priv->nick, 17); dwrq->data.length = strlen(extra) + 1; return 0; From 77ca694b2cc5c64318650da68f9d09a12907a836 Mon Sep 17 00:00:00 2001 From: Anup Sharma Date: Thu, 29 Dec 2022 21:14:38 +0530 Subject: [PATCH 017/219] Staging: rtl8192u: ieee80211: Fix indentation errors by removing extra spaces Remove extra spaces before statements to fix following indentation warnings reported by checkpatch.pl. WARNING: Statements should start on a tabstop + struct delayed_work start_ibss_wq; Signed-off-by: Anup Sharma Link: https://lore.kernel.org/r/Y6215u/jtmcgO6TY@local Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index c5c43d2fb93e..694d1b18f81c 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -1823,7 +1823,7 @@ struct ieee80211_device { struct work_struct associate_procedure_wq; struct delayed_work softmac_scan_wq; struct delayed_work associate_retry_wq; - struct delayed_work start_ibss_wq; + struct delayed_work start_ibss_wq; struct work_struct wx_sync_scan_wq; struct workqueue_struct *wq; // Qos related. Added by Annie, 2005-11-01. From 6aad66cdb09138557da6324fc628763f41ddf1c3 Mon Sep 17 00:00:00 2001 From: Anup Sharma Date: Thu, 29 Dec 2022 16:29:05 +0530 Subject: [PATCH 018/219] staging: rtl8723bs: hal: Fix codespell-reported spelling mistakes They are appear to be spelling mistakes, Initially identified in a codespell report and never been addressed so far. drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c:656: regsiters ==> registers drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c:1696: beacause ==> because drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c:2092: Checl ==> Check drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c:2513: checksume ==> checksum drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c:2726: sequense ==> sequence drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c:2780: vlaue ==> value drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c:3409: equall ==> equal, equally Signed-off-by: Anup Sharma Link: https://lore.kernel.org/r/Y61y+flJp9/jEicc@local Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c index f1fc077ed29c..0fcae6871108 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c @@ -653,7 +653,7 @@ static void Hal_EfusePowerSwitch( if (PwrState) { - /* To avoid cannot access efuse regsiters after disable/enable several times during DTM test. */ + /* To avoid cannot access efuse registers after disable/enable several times during DTM test. */ /* Suggested by SD1 IsaacHsu. 2013.07.08, added by tynli. */ tempval = rtw_read8(padapter, SDIO_LOCAL_BASE|SDIO_REG_HSUS_CTRL); if (tempval & BIT(0)) { /* SDIO local register is suspend */ @@ -1693,7 +1693,7 @@ void rtl8723b_InitBeaconParameters(struct adapter *padapter) rtw_write8(padapter, REG_BCNDMATIM, BCN_DMA_ATIME_INT_TIME_8723B); /* 2ms */ /* Suggested by designer timchen. Change beacon AIFS to the largest number */ - /* beacause test chip does not contension before sending beacon. by tynli. 2009.11.03 */ + /* because test chip does not contension before sending beacon. by tynli. 2009.11.03 */ rtw_write16(padapter, REG_BCNTCFG, 0x660F); pHalData->RegBcnCtrlVal = rtw_read8(padapter, REG_BCN_CTRL); @@ -2089,7 +2089,7 @@ void Hal_EfuseParseIDCode(struct adapter *padapter, u8 *hwinfo) u16 EEPROMId; - /* Checl 0x8129 again for making sure autoload status!! */ + /* Check 0x8129 again for making sure autoload status!! */ EEPROMId = le16_to_cpu(*((__le16 *)hwinfo)); if (EEPROMId != RTL_EEPROM_ID) { pEEPROM->bautoload_fail_flag = true; @@ -2510,7 +2510,7 @@ static void rtl8723b_cal_txdesc_chksum(struct tx_desc *ptxdesc) /* Clear first */ ptxdesc->txdw7 &= cpu_to_le32(0xffff0000); - /* checksume is always calculated by first 32 bytes, */ + /* checksum is always calculated by first 32 bytes, */ /* and it doesn't depend on TX DESC length. */ /* Thomas, Lucas@SD4, 20130515 */ count = 16; @@ -2723,7 +2723,7 @@ static void rtl8723b_fill_default_txdesc( * multicast / mgnt frame should be controlled by Hw because Fw * will also send null data which we cannot control when Fw LPS * enable. - * --> default enable non-Qos data sequense number. 2010.06.23. + * --> default enable non-Qos data sequence number. 2010.06.23. * by tynli. * (2) Enable HW SEQ control for beacon packet, because we use * Hw beacon. @@ -2777,7 +2777,7 @@ void rtl8723b_fill_fake_txdesc( SET_TX_DESC_PKT_SIZE_8723B(pDesc, BufferLen); /* Buffer size + command header */ SET_TX_DESC_QUEUE_SEL_8723B(pDesc, QSLT_MGNT); /* Fixed queue of Mgnt queue */ - /* Set NAVUSEHDR to prevent Ps-poll AId filed to be changed to error vlaue by Hw. */ + /* Set NAVUSEHDR to prevent Ps-poll AId filed to be changed to error value by Hw. */ if (IsPsPoll) { SET_TX_DESC_NAV_USE_HDR_8723B(pDesc, 1); } else { @@ -3406,7 +3406,7 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) /* polling bit, and No Write enable, and address */ ulCommand = CAM_CONTENT_COUNT*ucIndex+i; ulCommand = ulCommand | CAM_POLLINIG | CAM_WRITE; - /* write content 0 is equall to mark invalid */ + /* write content 0 is equal to mark as invalid */ rtw_write32(padapter, WCAMI, ulContent); /* mdelay(40); */ rtw_write32(padapter, RWCAM, ulCommand); /* mdelay(40); */ } From 6492c4b924c1e7b9c0b4fa414ef7c9639324cc5f Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Mon, 9 Jan 2023 20:08:24 +0100 Subject: [PATCH 019/219] staging: rtl8192e: Rename ChannelPlan, eeprom_ChannelPlan and CckPwEnl Rename variable ChannelPlan to chnl_plan, eeprom_ChannelPlan to eeprom_chnl_plan and CckPwEnl to cck_pwr_enl to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/aee78a6adf41a2096898e0c0c5ef45e9f7e1659b.1673290428.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../rtl8192e/rtl8192e/r8190P_rtl8256.c | 2 +- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 20 +++++++++---------- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 8 ++++---- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c index ab2e9b729883..93928f3585c1 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c @@ -154,7 +154,7 @@ void rtl92e_set_cck_tx_power(struct net_device *dev, u8 powerlevel) if (priv->CustomerID == RT_CID_819x_Netcore) TxAGC = 0x22; else - TxAGC += priv->CckPwEnl; + TxAGC += priv->cck_pwr_enl; } if (TxAGC > 0x24) TxAGC = 0x24; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index f02e67f68e23..25fa7714df4e 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -306,7 +306,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->eeprom_CustomerID = usValue & 0xff; usValue = rtl92e_eeprom_read(dev, EEPROM_ICVersion_ChannelPlan>>1); - priv->eeprom_ChannelPlan = usValue&0xff; + priv->eeprom_chnl_plan = usValue&0xff; IC_Version = (usValue & 0xff00)>>8; ICVer8192 = IC_Version & 0xf; @@ -328,7 +328,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->eeprom_vid = 0; priv->eeprom_did = 0; priv->eeprom_CustomerID = 0; - priv->eeprom_ChannelPlan = 0; + priv->eeprom_chnl_plan = 0; } if (!priv->AutoloadFailFlag) { @@ -473,9 +473,9 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->rf_chip = RF_8256; if (priv->reg_chnl_plan == 0xf) - priv->ChannelPlan = priv->eeprom_ChannelPlan; + priv->chnl_plan = priv->eeprom_chnl_plan; else - priv->ChannelPlan = priv->reg_chnl_plan; + priv->chnl_plan = priv->reg_chnl_plan; if (priv->eeprom_vid == 0x1186 && priv->eeprom_did == 0x3304) priv->CustomerID = RT_CID_DLINK; @@ -495,10 +495,10 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) break; case EEPROM_CID_TOSHIBA: priv->CustomerID = RT_CID_TOSHIBA; - if (priv->eeprom_ChannelPlan&0x80) - priv->ChannelPlan = priv->eeprom_ChannelPlan&0x7f; + if (priv->eeprom_chnl_plan & 0x80) + priv->chnl_plan = priv->eeprom_chnl_plan & 0x7f; else - priv->ChannelPlan = 0x0; + priv->chnl_plan = 0x0; break; case EEPROM_CID_Nettronix: priv->CustomerID = RT_CID_Nettronix; @@ -516,9 +516,9 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) break; } - if (priv->ChannelPlan > CHANNEL_PLAN_LEN - 1) - priv->ChannelPlan = 0; - priv->ChannelPlan = COUNTRY_CODE_WORLD_WIDE_13; + if (priv->chnl_plan > CHANNEL_PLAN_LEN - 1) + priv->chnl_plan = 0; + priv->chnl_plan = COUNTRY_CODE_WORLD_WIDE_13; if (priv->eeprom_vid == 0x1186 && priv->eeprom_did == 0x3304) priv->rtllib->bSupportRemoteWakeUp = true; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index f8fbe78ccad9..92260d098eaa 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -862,7 +862,7 @@ static void _rtl92e_init_priv_variable(struct net_device *dev) priv->cck_present_attn = 0; priv->rfa_txpowertrackingindex = 0; priv->rfc_txpowertrackingindex = 0; - priv->CckPwEnl = 6; + priv->cck_pwr_enl = 6; priv->rst_progress = RESET_TYPE_NORESET; priv->force_reset = false; memset(priv->rtllib->swcamtable, 0, sizeof(struct sw_cam_table) * 32); @@ -952,13 +952,13 @@ static short _rtl92e_get_channel_map(struct net_device *dev) return -1; } - if (priv->ChannelPlan >= COUNTRY_CODE_MAX) { + if (priv->chnl_plan >= COUNTRY_CODE_MAX) { netdev_info(dev, "rtl819x_init:Error channel plan! Set to default.\n"); - priv->ChannelPlan = COUNTRY_CODE_FCC; + priv->chnl_plan = COUNTRY_CODE_FCC; } dot11d_init(priv->rtllib); - dot11d_channel_map(priv->ChannelPlan, priv->rtllib); + dot11d_channel_map(priv->chnl_plan, priv->rtllib); for (i = 1; i <= 11; i++) (priv->rtllib->active_channel_map)[i] = 1; (priv->rtllib->active_channel_map)[12] = 2; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index cceb77492363..93b3b75a063f 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -420,7 +420,7 @@ struct r8192_priv { u16 eeprom_vid; u16 eeprom_did; u8 eeprom_CustomerID; - u16 eeprom_ChannelPlan; + u16 eeprom_chnl_plan; u8 EEPROMTxPowerLevelCCK[14]; u8 EEPROMTxPowerLevelOFDM24G[14]; @@ -451,7 +451,7 @@ struct r8192_priv { bool bTXPowerDataReadFromEEPORM; u16 reg_chnl_plan; - u16 ChannelPlan; + u16 chnl_plan; u8 hw_rf_off_action; bool rf_change_in_progress; @@ -460,7 +460,7 @@ struct r8192_priv { u8 DM_Type; - u8 CckPwEnl; + u8 cck_pwr_enl; u16 TSSI_13dBm; u32 Pwr_Track; u8 CCKPresentAttentuation_20Mdefault; From 48ca41d38892550ce66ff7a64cf6754d5974b242 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Mon, 9 Jan 2023 20:08:32 +0100 Subject: [PATCH 020/219] staging: rtl8192e: Rename TSSI_13dBm, Pwr_Track and NumTotalRFPath Rename variable TSSI_13dBm to tssi_13dBm, Pwr_Track to pwr_track and NumTotalRFPath to num_total_rf_path to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/d3bb45535b7babd1cb8df437ca238eb0ce93c9fe.1673290428.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c | 8 ++++---- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 2 +- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 2 +- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 14 +++++++------- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c index 93928f3585c1..7517ec001421 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c @@ -21,7 +21,7 @@ void rtl92e_set_bandwidth(struct net_device *dev, return; } - for (eRFPath = 0; eRFPath < priv->NumTotalRFPath; eRFPath++) { + for (eRFPath = 0; eRFPath < priv->num_total_rf_path; eRFPath++) { if (!rtl92e_is_legal_rf_path(dev, eRFPath)) continue; @@ -63,10 +63,10 @@ bool rtl92e_config_rf(struct net_device *dev) u8 ConstRetryTimes = 5, RetryTimes = 5; u8 ret = 0; - priv->NumTotalRFPath = RTL819X_TOTAL_RF_PATH; + priv->num_total_rf_path = RTL819X_TOTAL_RF_PATH; for (eRFPath = (enum rf90_radio_path)RF90_PATH_A; - eRFPath < priv->NumTotalRFPath; eRFPath++) { + eRFPath < priv->num_total_rf_path; eRFPath++) { if (!rtl92e_is_legal_rf_path(dev, eRFPath)) continue; @@ -195,7 +195,7 @@ void rtl92e_set_ofdm_tx_power(struct net_device *dev, u8 powerlevel) if (index == 3) { writeVal_tmp = (byte3 << 24) | (byte2 << 16) | (byte1 << 8) | byte0; - priv->Pwr_Track = writeVal_tmp; + priv->pwr_track = writeVal_tmp; } if (priv->bDynamicTxHighPower) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 25fa7714df4e..8b61c7581fe0 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -371,7 +371,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) 0xff00) >> 8; else priv->EEPROMThermalMeter = EEPROM_Default_ThermalMeter; - priv->TSSI_13dBm = priv->EEPROMThermalMeter * 100; + priv->tssi_13dBm = priv->EEPROMThermalMeter * 100; if (priv->epromtype == EEPROM_93C46) { if (!priv->AutoloadFailFlag) { diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index a813eded4cb3..ccbce3e177b6 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -904,7 +904,7 @@ static u8 _rtl92e_phy_switch_channel_step(struct net_device *dev, u8 channel, break; case CmdID_RF_WriteReg: for (eRFPath = 0; eRFPath < - priv->NumTotalRFPath; eRFPath++) + priv->num_total_rf_path; eRFPath++) rtl92e_set_rf_reg(dev, (enum rf90_radio_path)eRFPath, CurrentCmd->Para1, bMask12Bits, diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 93b3b75a063f..825cb8ce06c0 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -445,7 +445,7 @@ struct r8192_priv { u8 nCur40MhzPrimeSC; u32 RfReg0Value[4]; - u8 NumTotalRFPath; + u8 num_total_rf_path; bool brfpath_rxenable[4]; bool bTXPowerDataReadFromEEPORM; @@ -461,8 +461,8 @@ struct r8192_priv { u8 DM_Type; u8 cck_pwr_enl; - u16 TSSI_13dBm; - u32 Pwr_Track; + u16 tssi_13dBm; + u32 pwr_track; u8 CCKPresentAttentuation_20Mdefault; u8 CCKPresentAttentuation_40Mdefault; s8 CCKPresentAttentuation_difference; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index a18393c8a833..6cd49b3f6408 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -615,14 +615,14 @@ static void _rtl92e_dm_tx_power_tracking_callback_tssi(struct net_device *dev) u8 RF_Type, tmp_report[5] = {0, 0, 0, 0, 0}; u32 Value; u8 Pwr_Flag; - u16 Avg_TSSI_Meas, TSSI_13dBm, Avg_TSSI_Meas_from_driver = 0; + u16 Avg_TSSI_Meas, tssi_13dBm, Avg_TSSI_Meas_from_driver = 0; u32 delta = 0; rtl92e_writeb(dev, Pw_Track_Flag, 0); rtl92e_writeb(dev, FW_Busy_Flag, 0); priv->rtllib->bdynamic_txpower_enable = false; - powerlevelOFDM24G = priv->Pwr_Track >> 24; + powerlevelOFDM24G = priv->pwr_track >> 24; RF_Type = priv->rf_type; Value = (RF_Type<<8) | powerlevelOFDM24G; @@ -688,12 +688,12 @@ static void _rtl92e_dm_tx_power_tracking_callback_tssi(struct net_device *dev) Avg_TSSI_Meas_from_driver += tmp_report[k]; Avg_TSSI_Meas_from_driver *= 100 / 5; - TSSI_13dBm = priv->TSSI_13dBm; + tssi_13dBm = priv->tssi_13dBm; - if (Avg_TSSI_Meas_from_driver > TSSI_13dBm) - delta = Avg_TSSI_Meas_from_driver - TSSI_13dBm; + if (Avg_TSSI_Meas_from_driver > tssi_13dBm) + delta = Avg_TSSI_Meas_from_driver - tssi_13dBm; else - delta = TSSI_13dBm - Avg_TSSI_Meas_from_driver; + delta = tssi_13dBm - Avg_TSSI_Meas_from_driver; if (delta <= E_FOR_TX_POWER_TRACK) { priv->rtllib->bdynamic_txpower_enable = true; @@ -701,7 +701,7 @@ static void _rtl92e_dm_tx_power_tracking_callback_tssi(struct net_device *dev) rtl92e_writeb(dev, FW_Busy_Flag, 0); return; } - if (Avg_TSSI_Meas_from_driver < TSSI_13dBm - E_FOR_TX_POWER_TRACK) + if (Avg_TSSI_Meas_from_driver < tssi_13dBm - E_FOR_TX_POWER_TRACK) _rtl92e_dm_tx_update_tssi_weak_signal(dev, RF_Type); else From 6def63e4b4ffe0912a2705398e89c0255c2ee77f Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Mon, 9 Jan 2023 20:08:41 +0100 Subject: [PATCH 021/219] staging: rtl8192e: Rename CCKPresentAtt... Rename variable CCKPresentAttentuation_20Mdefault to cck_present_attn_20m_def, CCKPresentAttentuation_40Mdefault to cck_present_attn_40m_def and CCKPresentAttentuation_difference to cck_present_attn_diff to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/1254f23aefd25075ef3e16719eed79b461f41e4c.1673290428.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 8 ++++---- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 8 ++++---- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 16 ++++++++-------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 8b61c7581fe0..5c5326491e90 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -787,14 +787,14 @@ bool rtl92e_start_adapter(struct net_device *dev) for (i = 0; i < CCKTxBBGainTableLength; i++) { if (TempCCk == dm_cck_tx_bb_gain[i][0]) { - priv->CCKPresentAttentuation_20Mdefault = i; + priv->cck_present_attn_20m_def = i; break; } } - priv->CCKPresentAttentuation_40Mdefault = 0; - priv->CCKPresentAttentuation_difference = 0; + priv->cck_present_attn_40m_def = 0; + priv->cck_present_attn_diff = 0; priv->cck_present_attn = - priv->CCKPresentAttentuation_20Mdefault; + priv->cck_present_attn_20m_def; priv->btxpower_tracking = false; } } diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index ccbce3e177b6..33b39b1dc655 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -1009,8 +1009,8 @@ static void _rtl92e_cck_tx_power_track_bw_switch_tssi(struct net_device *dev) switch (priv->CurrentChannelBW) { case HT_CHANNEL_WIDTH_20: priv->cck_present_attn = - priv->CCKPresentAttentuation_20Mdefault + - priv->CCKPresentAttentuation_difference; + priv->cck_present_attn_20m_def + + priv->cck_present_attn_diff; if (priv->cck_present_attn > (CCKTxBBGainTableLength-1)) @@ -1034,8 +1034,8 @@ static void _rtl92e_cck_tx_power_track_bw_switch_tssi(struct net_device *dev) case HT_CHANNEL_WIDTH_20_40: priv->cck_present_attn = - priv->CCKPresentAttentuation_40Mdefault + - priv->CCKPresentAttentuation_difference; + priv->cck_present_attn_40m_def + + priv->cck_present_attn_diff; if (priv->cck_present_attn > (CCKTxBBGainTableLength - 1)) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 825cb8ce06c0..344b2c92843a 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -463,9 +463,9 @@ struct r8192_priv { u8 cck_pwr_enl; u16 tssi_13dBm; u32 pwr_track; - u8 CCKPresentAttentuation_20Mdefault; - u8 CCKPresentAttentuation_40Mdefault; - s8 CCKPresentAttentuation_difference; + u8 cck_present_attn_20m_def; + u8 cck_present_attn_40m_def; + s8 cck_present_attn_diff; s8 cck_present_attn; long undecorated_smoothed_pwdb; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 6cd49b3f6408..6d3c9491d070 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -708,21 +708,21 @@ static void _rtl92e_dm_tx_power_tracking_callback_tssi(struct net_device *dev) _rtl92e_dm_tx_update_tssi_strong_signal(dev, RF_Type); if (RF_Type == RF_2T4R) { - priv->CCKPresentAttentuation_difference + priv->cck_present_attn_diff = priv->rfa_txpowertrackingindex - priv->rfa_txpowertracking_default; } else { - priv->CCKPresentAttentuation_difference + priv->cck_present_attn_diff = priv->rfa_txpowertrackingindex_real - priv->rfa_txpowertracking_default; } if (priv->CurrentChannelBW == HT_CHANNEL_WIDTH_20) priv->cck_present_attn = - priv->CCKPresentAttentuation_20Mdefault + - priv->CCKPresentAttentuation_difference; + priv->cck_present_attn_20m_def + + priv->cck_present_attn_diff; else priv->cck_present_attn = - priv->CCKPresentAttentuation_40Mdefault + - priv->CCKPresentAttentuation_difference; + priv->cck_present_attn_40m_def + + priv->cck_present_attn_diff; if (priv->cck_present_attn > (CCKTxBBGainTableLength-1)) priv->cck_present_attn = CCKTxBBGainTableLength-1; @@ -742,8 +742,8 @@ static void _rtl92e_dm_tx_power_tracking_callback_tssi(struct net_device *dev) rtl92e_dm_cck_txpower_adjust(dev, priv->bcck_in_ch14); } - if (priv->CCKPresentAttentuation_difference <= -12 || - priv->CCKPresentAttentuation_difference >= 24) { + if (priv->cck_present_attn_diff <= -12 || + priv->cck_present_attn_diff >= 24) { priv->rtllib->bdynamic_txpower_enable = true; rtl92e_writeb(dev, Pw_Track_Flag, 0); rtl92e_writeb(dev, FW_Busy_Flag, 0); From e941c9cefd326f43b94d64cf07b8f10c4d335c6e Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Mon, 9 Jan 2023 20:08:51 +0100 Subject: [PATCH 022/219] staging: rtl8192e: Rename TxPowerLevelCCK... Rename variable TxPowerLevelCCK to tx_pwr_level_cck, TxPowerLevelCCK_A to tx_pwr_level_cck_a and TxPowerLevelCCK_C to tx_pwr_level_cck_c to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/c18af327debcf85f3498be9c7a1492d501748669.1673290428.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 14 +++++++------- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 8 ++++---- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 5c5326491e90..ec817de1ca59 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -408,7 +408,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) } if (priv->epromtype == EEPROM_93C46) { for (i = 0; i < 14; i++) { - priv->TxPowerLevelCCK[i] = + priv->tx_pwr_level_cck[i] = priv->EEPROMTxPowerLevelCCK[i]; priv->TxPowerLevelOFDM24G[i] = priv->EEPROMTxPowerLevelOFDM24G[i]; @@ -427,31 +427,31 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) } else if (priv->epromtype == EEPROM_93C56) { for (i = 0; i < 3; i++) { - priv->TxPowerLevelCCK_A[i] = + priv->tx_pwr_level_cck_a[i] = priv->EEPROMRfACCKChnl1TxPwLevel[0]; priv->TxPowerLevelOFDM24G_A[i] = priv->EEPROMRfAOfdmChnlTxPwLevel[0]; - priv->TxPowerLevelCCK_C[i] = + priv->tx_pwr_level_cck_c[i] = priv->EEPROMRfCCCKChnl1TxPwLevel[0]; priv->TxPowerLevelOFDM24G_C[i] = priv->EEPROMRfCOfdmChnlTxPwLevel[0]; } for (i = 3; i < 9; i++) { - priv->TxPowerLevelCCK_A[i] = + priv->tx_pwr_level_cck_a[i] = priv->EEPROMRfACCKChnl1TxPwLevel[1]; priv->TxPowerLevelOFDM24G_A[i] = priv->EEPROMRfAOfdmChnlTxPwLevel[1]; - priv->TxPowerLevelCCK_C[i] = + priv->tx_pwr_level_cck_c[i] = priv->EEPROMRfCCCKChnl1TxPwLevel[1]; priv->TxPowerLevelOFDM24G_C[i] = priv->EEPROMRfCOfdmChnlTxPwLevel[1]; } for (i = 9; i < 14; i++) { - priv->TxPowerLevelCCK_A[i] = + priv->tx_pwr_level_cck_a[i] = priv->EEPROMRfACCKChnl1TxPwLevel[2]; priv->TxPowerLevelOFDM24G_A[i] = priv->EEPROMRfAOfdmChnlTxPwLevel[2]; - priv->TxPowerLevelCCK_C[i] = + priv->tx_pwr_level_cck_c[i] = priv->EEPROMRfCCCKChnl1TxPwLevel[2]; priv->TxPowerLevelOFDM24G_C[i] = priv->EEPROMRfCOfdmChnlTxPwLevel[2]; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 33b39b1dc655..ee6138699e10 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -592,14 +592,14 @@ void rtl92e_set_tx_power(struct net_device *dev, u8 channel) u32 u4RegValue; if (priv->epromtype == EEPROM_93C46) { - powerlevel = priv->TxPowerLevelCCK[channel-1]; + powerlevel = priv->tx_pwr_level_cck[channel - 1]; powerlevelOFDM24G = priv->TxPowerLevelOFDM24G[channel-1]; } else if (priv->epromtype == EEPROM_93C56) { if (priv->rf_type == RF_1T2R) { - powerlevel = priv->TxPowerLevelCCK_C[channel-1]; + powerlevel = priv->tx_pwr_level_cck_c[channel - 1]; powerlevelOFDM24G = priv->TxPowerLevelOFDM24G_C[channel-1]; } else if (priv->rf_type == RF_2T4R) { - powerlevel = priv->TxPowerLevelCCK_A[channel-1]; + powerlevel = priv->tx_pwr_level_cck_a[channel - 1]; powerlevelOFDM24G = priv->TxPowerLevelOFDM24G_A[channel-1]; ant_pwr_diff = priv->TxPowerLevelOFDM24G_C[channel-1] @@ -726,7 +726,7 @@ u8 rtl92e_config_rf_path(struct net_device *dev, enum rf90_radio_path eRFPath) static void _rtl92e_set_tx_power_level(struct net_device *dev, u8 channel) { struct r8192_priv *priv = rtllib_priv(dev); - u8 powerlevel = priv->TxPowerLevelCCK[channel-1]; + u8 powerlevel = priv->tx_pwr_level_cck[channel - 1]; u8 powerlevelOFDM24G = priv->TxPowerLevelOFDM24G[channel-1]; switch (priv->rf_chip) { diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 344b2c92843a..1efaea925b3a 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -470,9 +470,9 @@ struct r8192_priv { long undecorated_smoothed_pwdb; u32 MCSTxPowerLevelOriginalOffset[6]; - u8 TxPowerLevelCCK[14]; - u8 TxPowerLevelCCK_A[14]; - u8 TxPowerLevelCCK_C[14]; + u8 tx_pwr_level_cck[14]; + u8 tx_pwr_level_cck_a[14]; + u8 tx_pwr_level_cck_c[14]; u8 TxPowerLevelOFDM24G[14]; u8 TxPowerLevelOFDM24G_A[14]; u8 TxPowerLevelOFDM24G_C[14]; From b1465f9bcc2a44d54c199c60b946c4595576019c Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Mon, 9 Jan 2023 20:08:58 +0100 Subject: [PATCH 023/219] staging: rtl8192e: Rename TxPowerLevelOFDM24G... Rename variable TxPowerLevelOFDM24G to tx_pwr_level_ofdm_24g, TxPowerLevelOFDM24G_A to tx_pwr_level_ofdm_24g_a and TxPowerLevelOFDM24G_C to tx_pwr_level_ofdm_24g_c to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/6bb354bd6f6387a26378de3b154d975b826a1a88.1673290428.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 14 +++++++------- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 12 ++++++------ drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index ec817de1ca59..ab9e2265df6f 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -410,7 +410,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) for (i = 0; i < 14; i++) { priv->tx_pwr_level_cck[i] = priv->EEPROMTxPowerLevelCCK[i]; - priv->TxPowerLevelOFDM24G[i] = + priv->tx_pwr_level_ofdm_24g[i] = priv->EEPROMTxPowerLevelOFDM24G[i]; } priv->LegacyHTTxPowerDiff = @@ -429,31 +429,31 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) for (i = 0; i < 3; i++) { priv->tx_pwr_level_cck_a[i] = priv->EEPROMRfACCKChnl1TxPwLevel[0]; - priv->TxPowerLevelOFDM24G_A[i] = + priv->tx_pwr_level_ofdm_24g_a[i] = priv->EEPROMRfAOfdmChnlTxPwLevel[0]; priv->tx_pwr_level_cck_c[i] = priv->EEPROMRfCCCKChnl1TxPwLevel[0]; - priv->TxPowerLevelOFDM24G_C[i] = + priv->tx_pwr_level_ofdm_24g_c[i] = priv->EEPROMRfCOfdmChnlTxPwLevel[0]; } for (i = 3; i < 9; i++) { priv->tx_pwr_level_cck_a[i] = priv->EEPROMRfACCKChnl1TxPwLevel[1]; - priv->TxPowerLevelOFDM24G_A[i] = + priv->tx_pwr_level_ofdm_24g_a[i] = priv->EEPROMRfAOfdmChnlTxPwLevel[1]; priv->tx_pwr_level_cck_c[i] = priv->EEPROMRfCCCKChnl1TxPwLevel[1]; - priv->TxPowerLevelOFDM24G_C[i] = + priv->tx_pwr_level_ofdm_24g_c[i] = priv->EEPROMRfCOfdmChnlTxPwLevel[1]; } for (i = 9; i < 14; i++) { priv->tx_pwr_level_cck_a[i] = priv->EEPROMRfACCKChnl1TxPwLevel[2]; - priv->TxPowerLevelOFDM24G_A[i] = + priv->tx_pwr_level_ofdm_24g_a[i] = priv->EEPROMRfAOfdmChnlTxPwLevel[2]; priv->tx_pwr_level_cck_c[i] = priv->EEPROMRfCCCKChnl1TxPwLevel[2]; - priv->TxPowerLevelOFDM24G_C[i] = + priv->tx_pwr_level_ofdm_24g_c[i] = priv->EEPROMRfCOfdmChnlTxPwLevel[2]; } priv->LegacyHTTxPowerDiff = diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index ee6138699e10..19c65aaef3f6 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -593,17 +593,17 @@ void rtl92e_set_tx_power(struct net_device *dev, u8 channel) if (priv->epromtype == EEPROM_93C46) { powerlevel = priv->tx_pwr_level_cck[channel - 1]; - powerlevelOFDM24G = priv->TxPowerLevelOFDM24G[channel-1]; + powerlevelOFDM24G = priv->tx_pwr_level_ofdm_24g[channel - 1]; } else if (priv->epromtype == EEPROM_93C56) { if (priv->rf_type == RF_1T2R) { powerlevel = priv->tx_pwr_level_cck_c[channel - 1]; - powerlevelOFDM24G = priv->TxPowerLevelOFDM24G_C[channel-1]; + powerlevelOFDM24G = priv->tx_pwr_level_ofdm_24g_c[channel - 1]; } else if (priv->rf_type == RF_2T4R) { powerlevel = priv->tx_pwr_level_cck_a[channel - 1]; - powerlevelOFDM24G = priv->TxPowerLevelOFDM24G_A[channel-1]; + powerlevelOFDM24G = priv->tx_pwr_level_ofdm_24g_a[channel - 1]; - ant_pwr_diff = priv->TxPowerLevelOFDM24G_C[channel-1] - - priv->TxPowerLevelOFDM24G_A[channel-1]; + ant_pwr_diff = priv->tx_pwr_level_ofdm_24g_c[channel - 1] + - priv->tx_pwr_level_ofdm_24g_a[channel - 1]; priv->RF_C_TxPwDiff = ant_pwr_diff; @@ -727,7 +727,7 @@ static void _rtl92e_set_tx_power_level(struct net_device *dev, u8 channel) { struct r8192_priv *priv = rtllib_priv(dev); u8 powerlevel = priv->tx_pwr_level_cck[channel - 1]; - u8 powerlevelOFDM24G = priv->TxPowerLevelOFDM24G[channel-1]; + u8 powerlevelOFDM24G = priv->tx_pwr_level_ofdm_24g[channel - 1]; switch (priv->rf_chip) { case RF_8225: diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 1efaea925b3a..ca61fc60db6e 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -473,9 +473,9 @@ struct r8192_priv { u8 tx_pwr_level_cck[14]; u8 tx_pwr_level_cck_a[14]; u8 tx_pwr_level_cck_c[14]; - u8 TxPowerLevelOFDM24G[14]; - u8 TxPowerLevelOFDM24G_A[14]; - u8 TxPowerLevelOFDM24G_C[14]; + u8 tx_pwr_level_ofdm_24g[14]; + u8 tx_pwr_level_ofdm_24g_a[14]; + u8 tx_pwr_level_ofdm_24g_c[14]; u8 LegacyHTTxPowerDiff; s8 RF_C_TxPwDiff; u8 AntennaTxPwDiff[3]; From b2779cbaee95577c1206d9d2ca8df3a882cb04ce Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Mon, 9 Jan 2023 20:09:05 +0100 Subject: [PATCH 024/219] staging: rtl8192e: Rename MCSTxPowerL.., LegacyHTTxPowe.. and AntennaTx.. Rename variable MCSTxPowerLevelOriginalOffset to mcs_tx_pwr_level_org_offset, LegacyHTTxPowerDiff to legacy_ht_tx_pwr_diff and AntennaTxPwDiff to antenna_tx_pwr_diff to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/271b3a9e1c23593e9ead925eb8415a584058fb56.1673290428.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../rtl8192e/rtl8192e/r8190P_rtl8256.c | 4 +-- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 16 +++++----- .../staging/rtl8192e/rtl8192e/r8192E_phy.c | 30 +++++++++---------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 ++-- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c index 7517ec001421..1672a3fea13c 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c @@ -169,7 +169,7 @@ void rtl92e_set_ofdm_tx_power(struct net_device *dev, u8 powerlevel) u16 RegOffset[6] = {0xe00, 0xe04, 0xe10, 0xe14, 0xe18, 0xe1c}; u8 byte0, byte1, byte2, byte3; - powerBase0 = powerlevel + priv->LegacyHTTxPowerDiff; + powerBase0 = powerlevel + priv->legacy_ht_tx_pwr_diff; powerBase0 = (powerBase0 << 24) | (powerBase0 << 16) | (powerBase0 << 8) | powerBase0; powerBase1 = powerlevel; @@ -177,7 +177,7 @@ void rtl92e_set_ofdm_tx_power(struct net_device *dev, u8 powerlevel) (powerBase1 << 8) | powerBase1; for (index = 0; index < 6; index++) { - writeVal = (u32)(priv->MCSTxPowerLevelOriginalOffset[index] + + writeVal = (u32)(priv->mcs_tx_pwr_level_org_offset[index] + ((index < 2) ? powerBase0 : powerBase1)); byte0 = writeVal & 0x7f; byte1 = (writeVal & 0x7f00) >> 8; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index ab9e2265df6f..06ab02230125 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -413,12 +413,12 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->tx_pwr_level_ofdm_24g[i] = priv->EEPROMTxPowerLevelOFDM24G[i]; } - priv->LegacyHTTxPowerDiff = + priv->legacy_ht_tx_pwr_diff = priv->EEPROMLegacyHTTxPowerDiff; - priv->AntennaTxPwDiff[0] = priv->EEPROMAntPwDiff & 0xf; - priv->AntennaTxPwDiff[1] = (priv->EEPROMAntPwDiff & + priv->antenna_tx_pwr_diff[0] = priv->EEPROMAntPwDiff & 0xf; + priv->antenna_tx_pwr_diff[1] = (priv->EEPROMAntPwDiff & 0xf0) >> 4; - priv->AntennaTxPwDiff[2] = (priv->EEPROMAntPwDiff & + priv->antenna_tx_pwr_diff[2] = (priv->EEPROMAntPwDiff & 0xf00) >> 8; priv->CrystalCap = priv->EEPROMCrystalCap; priv->ThermalMeter[0] = priv->EEPROMThermalMeter & 0xf; @@ -456,11 +456,11 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->tx_pwr_level_ofdm_24g_c[i] = priv->EEPROMRfCOfdmChnlTxPwLevel[2]; } - priv->LegacyHTTxPowerDiff = + priv->legacy_ht_tx_pwr_diff = priv->EEPROMLegacyHTTxPowerDiff; - priv->AntennaTxPwDiff[0] = 0; - priv->AntennaTxPwDiff[1] = 0; - priv->AntennaTxPwDiff[2] = 0; + priv->antenna_tx_pwr_diff[0] = 0; + priv->antenna_tx_pwr_diff[1] = 0; + priv->antenna_tx_pwr_diff[2] = 0; priv->CrystalCap = priv->EEPROMCrystalCap; priv->ThermalMeter[0] = priv->EEPROMThermalMeter & 0xf; priv->ThermalMeter[1] = (priv->EEPROMThermalMeter & diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 19c65aaef3f6..cc7e72f2a52c 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -535,9 +535,9 @@ static bool _rtl92e_bb_config_para_file(struct net_device *dev) if (priv->IC_Cut > VERSION_8190_BD) { if (priv->rf_type == RF_2T4R) - dwRegValue = priv->AntennaTxPwDiff[2]<<8 | - priv->AntennaTxPwDiff[1]<<4 | - priv->AntennaTxPwDiff[0]; + dwRegValue = priv->antenna_tx_pwr_diff[2] << 8 | + priv->antenna_tx_pwr_diff[1] << 4 | + priv->antenna_tx_pwr_diff[0]; else dwRegValue = 0x0; rtl92e_set_bb_reg(dev, rFPGA0_TxGainStage, @@ -561,17 +561,17 @@ void rtl92e_get_tx_power(struct net_device *dev) { struct r8192_priv *priv = rtllib_priv(dev); - priv->MCSTxPowerLevelOriginalOffset[0] = + priv->mcs_tx_pwr_level_org_offset[0] = rtl92e_readl(dev, rTxAGC_Rate18_06); - priv->MCSTxPowerLevelOriginalOffset[1] = + priv->mcs_tx_pwr_level_org_offset[1] = rtl92e_readl(dev, rTxAGC_Rate54_24); - priv->MCSTxPowerLevelOriginalOffset[2] = + priv->mcs_tx_pwr_level_org_offset[2] = rtl92e_readl(dev, rTxAGC_Mcs03_Mcs00); - priv->MCSTxPowerLevelOriginalOffset[3] = + priv->mcs_tx_pwr_level_org_offset[3] = rtl92e_readl(dev, rTxAGC_Mcs07_Mcs04); - priv->MCSTxPowerLevelOriginalOffset[4] = + priv->mcs_tx_pwr_level_org_offset[4] = rtl92e_readl(dev, rTxAGC_Mcs11_Mcs08); - priv->MCSTxPowerLevelOriginalOffset[5] = + priv->mcs_tx_pwr_level_org_offset[5] = rtl92e_readl(dev, rTxAGC_Mcs15_Mcs12); priv->DefaultInitialGain[0] = rtl92e_readb(dev, rOFDM0_XAAGCCore1); @@ -609,13 +609,13 @@ void rtl92e_set_tx_power(struct net_device *dev, u8 channel) ant_pwr_diff &= 0xf; - priv->AntennaTxPwDiff[2] = 0; - priv->AntennaTxPwDiff[1] = (u8)(ant_pwr_diff); - priv->AntennaTxPwDiff[0] = 0; + priv->antenna_tx_pwr_diff[2] = 0; + priv->antenna_tx_pwr_diff[1] = (u8)(ant_pwr_diff); + priv->antenna_tx_pwr_diff[0] = 0; - u4RegValue = priv->AntennaTxPwDiff[2]<<8 | - priv->AntennaTxPwDiff[1]<<4 | - priv->AntennaTxPwDiff[0]; + u4RegValue = priv->antenna_tx_pwr_diff[2] << 8 | + priv->antenna_tx_pwr_diff[1] << 4 | + priv->antenna_tx_pwr_diff[0]; rtl92e_set_bb_reg(dev, rFPGA0_TxGainStage, (bXBTxAGC|bXCTxAGC|bXDTxAGC), diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index ca61fc60db6e..cc3e2816e657 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -469,16 +469,16 @@ struct r8192_priv { s8 cck_present_attn; long undecorated_smoothed_pwdb; - u32 MCSTxPowerLevelOriginalOffset[6]; + u32 mcs_tx_pwr_level_org_offset[6]; u8 tx_pwr_level_cck[14]; u8 tx_pwr_level_cck_a[14]; u8 tx_pwr_level_cck_c[14]; u8 tx_pwr_level_ofdm_24g[14]; u8 tx_pwr_level_ofdm_24g_a[14]; u8 tx_pwr_level_ofdm_24g_c[14]; - u8 LegacyHTTxPowerDiff; + u8 legacy_ht_tx_pwr_diff; s8 RF_C_TxPwDiff; - u8 AntennaTxPwDiff[3]; + u8 antenna_tx_pwr_diff[3]; bool bDynamicTxHighPower; bool bDynamicTxLowPower; From c34e856b7f1af9911fd609b535a7cfb282a23534 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Mon, 9 Jan 2023 20:09:11 +0100 Subject: [PATCH 025/219] staging: rtl8192e: Rename SetRFPowerSta.., RfReg0Value and bTXPowerDa.. Rename variable SetRFPowerStateInProgress to set_rf_pwr_state_in_progress, RfReg0Value to rf_reg_0value and bTXPowerDataReadFromEEPORM to tx_pwr_data_read_from_eeprom to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/01ff54a2c135ba6e3d06255102679d496fd2aef1.1673290428.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 4 +- .../staging/rtl8192e/rtl8192e/r8192E_phy.c | 40 +++++++++---------- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 2 +- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +-- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 06ab02230125..ebf1fa5ec295 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -345,9 +345,9 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) } if (priv->card_8192_version > VERSION_8190_BD) - priv->bTXPowerDataReadFromEEPORM = true; + priv->tx_pwr_data_read_from_eeprom = true; else - priv->bTXPowerDataReadFromEEPORM = false; + priv->tx_pwr_data_read_from_eeprom = false; priv->rf_type = RTL819X_DEFAULT_RF_TYPE; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index cc7e72f2a52c..2e9932a26382 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -101,17 +101,17 @@ static u32 _rtl92e_phy_rf_read(struct net_device *dev, if (priv->rf_chip == RF_8256) { rtl92e_set_bb_reg(dev, rFPGA0_AnalogParameter4, 0xf00, 0x0); if (Offset >= 31) { - priv->RfReg0Value[eRFPath] |= 0x140; + priv->rf_reg_0value[eRFPath] |= 0x140; rtl92e_set_bb_reg(dev, pPhyReg->rf3wireOffset, bMaskDWord, - (priv->RfReg0Value[eRFPath]<<16)); + (priv->rf_reg_0value[eRFPath] << 16)); NewOffset = Offset - 30; } else if (Offset >= 16) { - priv->RfReg0Value[eRFPath] |= 0x100; - priv->RfReg0Value[eRFPath] &= (~0x40); + priv->rf_reg_0value[eRFPath] |= 0x100; + priv->rf_reg_0value[eRFPath] &= (~0x40); rtl92e_set_bb_reg(dev, pPhyReg->rf3wireOffset, bMaskDWord, - (priv->RfReg0Value[eRFPath]<<16)); + (priv->rf_reg_0value[eRFPath] << 16)); NewOffset = Offset - 15; } else @@ -130,10 +130,10 @@ static u32 _rtl92e_phy_rf_read(struct net_device *dev, bLSSIReadBackData); if (priv->rf_chip == RF_8256) { - priv->RfReg0Value[eRFPath] &= 0xebf; + priv->rf_reg_0value[eRFPath] &= 0xebf; rtl92e_set_bb_reg(dev, pPhyReg->rf3wireOffset, bMaskDWord, - (priv->RfReg0Value[eRFPath] << 16)); + (priv->rf_reg_0value[eRFPath] << 16)); rtl92e_set_bb_reg(dev, rFPGA0_AnalogParameter4, 0x300, 0x3); } @@ -156,17 +156,17 @@ static void _rtl92e_phy_rf_write(struct net_device *dev, rtl92e_set_bb_reg(dev, rFPGA0_AnalogParameter4, 0xf00, 0x0); if (Offset >= 31) { - priv->RfReg0Value[eRFPath] |= 0x140; + priv->rf_reg_0value[eRFPath] |= 0x140; rtl92e_set_bb_reg(dev, pPhyReg->rf3wireOffset, bMaskDWord, - (priv->RfReg0Value[eRFPath] << 16)); + (priv->rf_reg_0value[eRFPath] << 16)); NewOffset = Offset - 30; } else if (Offset >= 16) { - priv->RfReg0Value[eRFPath] |= 0x100; - priv->RfReg0Value[eRFPath] &= (~0x40); + priv->rf_reg_0value[eRFPath] |= 0x100; + priv->rf_reg_0value[eRFPath] &= (~0x40); rtl92e_set_bb_reg(dev, pPhyReg->rf3wireOffset, bMaskDWord, - (priv->RfReg0Value[eRFPath] << 16)); + (priv->rf_reg_0value[eRFPath] << 16)); NewOffset = Offset - 15; } else NewOffset = Offset; @@ -179,14 +179,14 @@ static void _rtl92e_phy_rf_write(struct net_device *dev, rtl92e_set_bb_reg(dev, pPhyReg->rf3wireOffset, bMaskDWord, DataAndAddr); if (Offset == 0x0) - priv->RfReg0Value[eRFPath] = Data; + priv->rf_reg_0value[eRFPath] = Data; if (priv->rf_chip == RF_8256) { if (Offset != 0) { - priv->RfReg0Value[eRFPath] &= 0xebf; + priv->rf_reg_0value[eRFPath] &= 0xebf; rtl92e_set_bb_reg(dev, pPhyReg->rf3wireOffset, bMaskDWord, - (priv->RfReg0Value[eRFPath] << 16)); + (priv->rf_reg_0value[eRFPath] << 16)); } rtl92e_set_bb_reg(dev, rFPGA0_AnalogParameter4, 0x300, 0x3); } @@ -306,7 +306,7 @@ void rtl92e_config_mac(struct net_device *dev) u32 *pdwArray = NULL; struct r8192_priv *priv = rtllib_priv(dev); - if (priv->bTXPowerDataReadFromEEPORM) { + if (priv->tx_pwr_data_read_from_eeprom) { dwArrayLen = MACPHY_Array_PGLength; pdwArray = Rtl819XMACPHY_Array_PG; @@ -1309,9 +1309,9 @@ static bool _rtl92e_set_rf_power_state(struct net_device *dev, u8 i = 0, QueueID = 0; struct rtl8192_tx_ring *ring = NULL; - if (priv->SetRFPowerStateInProgress) + if (priv->set_rf_pwr_state_in_progress) return false; - priv->SetRFPowerStateInProgress = true; + priv->set_rf_pwr_state_in_progress = true; switch (priv->rf_chip) { case RF_8256: @@ -1331,7 +1331,7 @@ static bool _rtl92e_set_rf_power_state(struct net_device *dev, netdev_err(dev, "%s(): Failed to initialize Adapter.\n", __func__); - priv->SetRFPowerStateInProgress = false; + priv->set_rf_pwr_state_in_progress = false; return false; } @@ -1438,7 +1438,7 @@ static bool _rtl92e_set_rf_power_state(struct net_device *dev, } } - priv->SetRFPowerStateInProgress = false; + priv->set_rf_pwr_state_in_progress = false; return bResult; } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 92260d098eaa..050f0435ab6d 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -872,7 +872,7 @@ static void _rtl92e_init_priv_variable(struct net_device *dev) priv->rtllib->rf_off_reason = 0; priv->rf_change_in_progress = false; priv->hw_rf_off_action = 0; - priv->SetRFPowerStateInProgress = false; + priv->set_rf_pwr_state_in_progress = false; priv->rtllib->pwr_save_ctrl.bLeisurePs = true; priv->rtllib->LPSDelayCnt = 0; priv->rtllib->sta_sleep = LPS_IS_WAKE; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index cc3e2816e657..ad34bef5660c 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -444,18 +444,18 @@ struct r8192_priv { u8 nCur40MhzPrimeSC; - u32 RfReg0Value[4]; + u32 rf_reg_0value[4]; u8 num_total_rf_path; bool brfpath_rxenable[4]; - bool bTXPowerDataReadFromEEPORM; + bool tx_pwr_data_read_from_eeprom; u16 reg_chnl_plan; u16 chnl_plan; u8 hw_rf_off_action; bool rf_change_in_progress; - bool SetRFPowerStateInProgress; + bool set_rf_pwr_state_in_progress; bool bdisable_nic; u8 DM_Type; From 5a64c4d6268e3145dd92614e9c28bb83f9641cb5 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 15 Jan 2023 21:19:31 +0100 Subject: [PATCH 026/219] staging: rtl8192e: Rename bDynamicTxHig.., bDynamicTxL.. and bLastDTPF.. Rename variable bDynamicTxHighPower to dynamic_tx_high_pwr, bDynamicTxLowPower to dynamic_tx_low_pwr and bLastDTPFlag_High to last_dtp_flag_high to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/585a76cf4d2c805eada805c18c18ef207b9a4ea4.1673812849.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../rtl8192e/rtl8192e/r8190P_rtl8256.c | 4 +-- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 ++-- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 34 +++++++++---------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c index 1672a3fea13c..2c1a4392aeff 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c @@ -150,7 +150,7 @@ void rtl92e_set_cck_tx_power(struct net_device *dev, u8 powerlevel) struct r8192_priv *priv = rtllib_priv(dev); TxAGC = powerlevel; - if (priv->bDynamicTxLowPower) { + if (priv->dynamic_tx_low_pwr) { if (priv->CustomerID == RT_CID_819x_Netcore) TxAGC = 0x22; else @@ -198,7 +198,7 @@ void rtl92e_set_ofdm_tx_power(struct net_device *dev, u8 powerlevel) priv->pwr_track = writeVal_tmp; } - if (priv->bDynamicTxHighPower) + if (priv->dynamic_tx_high_pwr) writeVal = 0x03030303; else writeVal = (byte3 << 24) | (byte2 << 16) | diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index ad34bef5660c..1f8bfe83b8ef 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -480,9 +480,9 @@ struct r8192_priv { s8 RF_C_TxPwDiff; u8 antenna_tx_pwr_diff[3]; - bool bDynamicTxHighPower; - bool bDynamicTxLowPower; - bool bLastDTPFlag_High; + bool dynamic_tx_high_pwr; + bool dynamic_tx_low_pwr; + bool last_dtp_flag_high; bool bLastDTPFlag_Low; u8 rfa_txpowertrackingindex; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 6d3c9491d070..09ea3a6f373c 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -2271,10 +2271,10 @@ static void _rtl92e_dm_init_dynamic_tx_power(struct net_device *dev) struct r8192_priv *priv = rtllib_priv(dev); priv->rtllib->bdynamic_txpower_enable = true; - priv->bLastDTPFlag_High = false; + priv->last_dtp_flag_high = false; priv->bLastDTPFlag_Low = false; - priv->bDynamicTxHighPower = false; - priv->bDynamicTxLowPower = false; + priv->dynamic_tx_high_pwr = false; + priv->dynamic_tx_low_pwr = false; } static void _rtl92e_dm_dynamic_tx_power(struct net_device *dev) @@ -2284,8 +2284,8 @@ static void _rtl92e_dm_dynamic_tx_power(struct net_device *dev) unsigned int txlowpower_threshold = 0; if (!priv->rtllib->bdynamic_txpower_enable) { - priv->bDynamicTxHighPower = false; - priv->bDynamicTxLowPower = false; + priv->dynamic_tx_high_pwr = false; + priv->dynamic_tx_low_pwr = false; return; } if ((priv->rtllib->ht_info->IOTPeer == HT_IOT_PEER_ATHEROS) && @@ -2299,28 +2299,28 @@ static void _rtl92e_dm_dynamic_tx_power(struct net_device *dev) if (priv->rtllib->state == RTLLIB_LINKED) { if (priv->undecorated_smoothed_pwdb >= txhipower_threshold) { - priv->bDynamicTxHighPower = true; - priv->bDynamicTxLowPower = false; + priv->dynamic_tx_high_pwr = true; + priv->dynamic_tx_low_pwr = false; } else { if (priv->undecorated_smoothed_pwdb < - txlowpower_threshold && priv->bDynamicTxHighPower) - priv->bDynamicTxHighPower = false; + txlowpower_threshold && priv->dynamic_tx_high_pwr) + priv->dynamic_tx_high_pwr = false; if (priv->undecorated_smoothed_pwdb < 35) - priv->bDynamicTxLowPower = true; + priv->dynamic_tx_low_pwr = true; else if (priv->undecorated_smoothed_pwdb >= 40) - priv->bDynamicTxLowPower = false; + priv->dynamic_tx_low_pwr = false; } } else { - priv->bDynamicTxHighPower = false; - priv->bDynamicTxLowPower = false; + priv->dynamic_tx_high_pwr = false; + priv->dynamic_tx_low_pwr = false; } - if ((priv->bDynamicTxHighPower != priv->bLastDTPFlag_High) || - (priv->bDynamicTxLowPower != priv->bLastDTPFlag_Low)) { + if ((priv->dynamic_tx_high_pwr != priv->last_dtp_flag_high) || + (priv->dynamic_tx_low_pwr != priv->bLastDTPFlag_Low)) { rtl92e_set_tx_power(dev, priv->rtllib->current_network.channel); } - priv->bLastDTPFlag_High = priv->bDynamicTxHighPower; - priv->bLastDTPFlag_Low = priv->bDynamicTxLowPower; + priv->last_dtp_flag_high = priv->dynamic_tx_high_pwr; + priv->bLastDTPFlag_Low = priv->dynamic_tx_low_pwr; } From a6ee5b0af1e8376dfcef265b96db933424cc7cc3 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 15 Jan 2023 21:19:56 +0100 Subject: [PATCH 027/219] staging: rtl8192e: Rename bLastDTPFlag_Low, OFDM_index and CCK_index Rename variable bLastDTPFlag_Low to last_dtp_flag_low, OFDM_index to ofdm_index and CCK_index to cck_index to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/1058b8be954b634f5c2cd9d4a46c33dbbe9459c5.1673812849.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8192e/rtl8192e/r8192E_phy.c | 4 +- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +-- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 52 +++++++++---------- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 2e9932a26382..7ba60d93b9b3 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -1074,11 +1074,11 @@ static void _rtl92e_cck_tx_power_track_bw_switch_thermal(struct net_device *dev) case HT_CHANNEL_WIDTH_20: if (priv->Record_CCK_20Mindex == 0) priv->Record_CCK_20Mindex = 6; - priv->CCK_index = priv->Record_CCK_20Mindex; + priv->cck_index = priv->Record_CCK_20Mindex; break; case HT_CHANNEL_WIDTH_20_40: - priv->CCK_index = priv->Record_CCK_40Mindex; + priv->cck_index = priv->Record_CCK_40Mindex; break; } rtl92e_dm_cck_txpower_adjust(dev, priv->bcck_in_ch14); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 1f8bfe83b8ef..fea5f547b7be 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -483,7 +483,7 @@ struct r8192_priv { bool dynamic_tx_high_pwr; bool dynamic_tx_low_pwr; bool last_dtp_flag_high; - bool bLastDTPFlag_Low; + bool last_dtp_flag_low; u8 rfa_txpowertrackingindex; u8 rfa_txpowertrackingindex_real; @@ -496,8 +496,8 @@ struct r8192_priv { u8 txpower_count; bool btxpower_trackingInit; - u8 OFDM_index[2]; - u8 CCK_index; + u8 ofdm_index[2]; + u8 cck_index; u8 Record_CCK_20Mindex; u8 Record_CCK_40Mindex; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 09ea3a6f373c..f03b479a9143 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -775,13 +775,13 @@ static void _rtl92e_dm_tx_power_tracking_cb_thermal(struct net_device *dev) bMaskDWord); for (i = 0; i < OFDM_Table_Length; i++) { if (tmpRegA == OFDMSwingTable[i]) - priv->OFDM_index[0] = i; + priv->ofdm_index[0] = i; } TempCCk = rtl92e_get_bb_reg(dev, rCCK0_TxFilter1, bMaskByte2); for (i = 0; i < CCK_Table_length; i++) { if (TempCCk == (u32)CCKSwingTable_Ch1_Ch13[i][0]) { - priv->CCK_index = i; + priv->cck_index = i; break; } } @@ -836,17 +836,17 @@ static void _rtl92e_dm_tx_power_tracking_cb_thermal(struct net_device *dev) CCKSwingNeedUpdate = 1; } - if (priv->CCK_index != tmpCCKindex) { - priv->CCK_index = tmpCCKindex; + if (priv->cck_index != tmpCCKindex) { + priv->cck_index = tmpCCKindex; CCKSwingNeedUpdate = 1; } if (CCKSwingNeedUpdate) rtl92e_dm_cck_txpower_adjust(dev, priv->bcck_in_ch14); - if (priv->OFDM_index[0] != tmpOFDMindex) { - priv->OFDM_index[0] = tmpOFDMindex; + if (priv->ofdm_index[0] != tmpOFDMindex) { + priv->ofdm_index[0] = tmpOFDMindex; rtl92e_set_bb_reg(dev, rOFDM0_XATxIQImbalance, bMaskDWord, - OFDMSwingTable[priv->OFDM_index[0]]); + OFDMSwingTable[priv->ofdm_index[0]]); } priv->txpower_count = 0; } @@ -1005,30 +1005,30 @@ static void _rtl92e_dm_cck_tx_power_adjust_thermal_meter(struct net_device *dev, TempVal = 0; if (!bInCH14) { - TempVal = CCKSwingTable_Ch1_Ch13[priv->CCK_index][0] + - (CCKSwingTable_Ch1_Ch13[priv->CCK_index][1] << 8); + TempVal = CCKSwingTable_Ch1_Ch13[priv->cck_index][0] + + (CCKSwingTable_Ch1_Ch13[priv->cck_index][1] << 8); rtl92e_set_bb_reg(dev, rCCK0_TxFilter1, bMaskHWord, TempVal); - TempVal = CCKSwingTable_Ch1_Ch13[priv->CCK_index][2] + - (CCKSwingTable_Ch1_Ch13[priv->CCK_index][3] << 8) + - (CCKSwingTable_Ch1_Ch13[priv->CCK_index][4] << 16)+ - (CCKSwingTable_Ch1_Ch13[priv->CCK_index][5] << 24); + TempVal = CCKSwingTable_Ch1_Ch13[priv->cck_index][2] + + (CCKSwingTable_Ch1_Ch13[priv->cck_index][3] << 8) + + (CCKSwingTable_Ch1_Ch13[priv->cck_index][4] << 16)+ + (CCKSwingTable_Ch1_Ch13[priv->cck_index][5] << 24); rtl92e_set_bb_reg(dev, rCCK0_TxFilter2, bMaskDWord, TempVal); - TempVal = CCKSwingTable_Ch1_Ch13[priv->CCK_index][6] + - (CCKSwingTable_Ch1_Ch13[priv->CCK_index][7] << 8); + TempVal = CCKSwingTable_Ch1_Ch13[priv->cck_index][6] + + (CCKSwingTable_Ch1_Ch13[priv->cck_index][7] << 8); rtl92e_set_bb_reg(dev, rCCK0_DebugPort, bMaskLWord, TempVal); } else { - TempVal = CCKSwingTable_Ch14[priv->CCK_index][0] + - (CCKSwingTable_Ch14[priv->CCK_index][1] << 8); + TempVal = CCKSwingTable_Ch14[priv->cck_index][0] + + (CCKSwingTable_Ch14[priv->cck_index][1] << 8); rtl92e_set_bb_reg(dev, rCCK0_TxFilter1, bMaskHWord, TempVal); - TempVal = CCKSwingTable_Ch14[priv->CCK_index][2] + - (CCKSwingTable_Ch14[priv->CCK_index][3] << 8) + - (CCKSwingTable_Ch14[priv->CCK_index][4] << 16)+ - (CCKSwingTable_Ch14[priv->CCK_index][5] << 24); + TempVal = CCKSwingTable_Ch14[priv->cck_index][2] + + (CCKSwingTable_Ch14[priv->cck_index][3] << 8) + + (CCKSwingTable_Ch14[priv->cck_index][4] << 16)+ + (CCKSwingTable_Ch14[priv->cck_index][5] << 24); rtl92e_set_bb_reg(dev, rCCK0_TxFilter2, bMaskDWord, TempVal); - TempVal = CCKSwingTable_Ch14[priv->CCK_index][6] + - (CCKSwingTable_Ch14[priv->CCK_index][7]<<8); + TempVal = CCKSwingTable_Ch14[priv->cck_index][6] + + (CCKSwingTable_Ch14[priv->cck_index][7]<<8); rtl92e_set_bb_reg(dev, rCCK0_DebugPort, bMaskLWord, TempVal); } @@ -2272,7 +2272,7 @@ static void _rtl92e_dm_init_dynamic_tx_power(struct net_device *dev) priv->rtllib->bdynamic_txpower_enable = true; priv->last_dtp_flag_high = false; - priv->bLastDTPFlag_Low = false; + priv->last_dtp_flag_low = false; priv->dynamic_tx_high_pwr = false; priv->dynamic_tx_low_pwr = false; } @@ -2316,11 +2316,11 @@ static void _rtl92e_dm_dynamic_tx_power(struct net_device *dev) } if ((priv->dynamic_tx_high_pwr != priv->last_dtp_flag_high) || - (priv->dynamic_tx_low_pwr != priv->bLastDTPFlag_Low)) { + (priv->dynamic_tx_low_pwr != priv->last_dtp_flag_low)) { rtl92e_set_tx_power(dev, priv->rtllib->current_network.channel); } priv->last_dtp_flag_high = priv->dynamic_tx_high_pwr; - priv->bLastDTPFlag_Low = priv->dynamic_tx_low_pwr; + priv->last_dtp_flag_low = priv->dynamic_tx_low_pwr; } From a9b97927cc4ef95daf0717f736c4ac997585bd60 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 15 Jan 2023 21:20:10 +0100 Subject: [PATCH 028/219] staging: rtl8192e: Rename Record_CCK_2.., Record_CCK_4.. and DefaultIn.. Rename variable Record_CCK_20Mindex to rec_cck_20m_idx, Record_CCK_40Mindex to rec_cck_40m_idx and DefaultInitialGain to def_initial_gain to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/2963e704afae2382bb7fded0453adbc4a8d48db3.1673812849.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 16 ++++++++-------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 8 ++++---- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 7ba60d93b9b3..a0233281ad94 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -574,10 +574,10 @@ void rtl92e_get_tx_power(struct net_device *dev) priv->mcs_tx_pwr_level_org_offset[5] = rtl92e_readl(dev, rTxAGC_Mcs15_Mcs12); - priv->DefaultInitialGain[0] = rtl92e_readb(dev, rOFDM0_XAAGCCore1); - priv->DefaultInitialGain[1] = rtl92e_readb(dev, rOFDM0_XBAGCCore1); - priv->DefaultInitialGain[2] = rtl92e_readb(dev, rOFDM0_XCAGCCore1); - priv->DefaultInitialGain[3] = rtl92e_readb(dev, rOFDM0_XDAGCCore1); + priv->def_initial_gain[0] = rtl92e_readb(dev, rOFDM0_XAAGCCore1); + priv->def_initial_gain[1] = rtl92e_readb(dev, rOFDM0_XBAGCCore1); + priv->def_initial_gain[2] = rtl92e_readb(dev, rOFDM0_XCAGCCore1); + priv->def_initial_gain[3] = rtl92e_readb(dev, rOFDM0_XDAGCCore1); priv->framesync = rtl92e_readb(dev, rOFDM0_RxDetector3); priv->framesyncC34 = rtl92e_readl(dev, rOFDM0_RxDetector2); @@ -1072,13 +1072,13 @@ static void _rtl92e_cck_tx_power_track_bw_switch_thermal(struct net_device *dev) switch (priv->CurrentChannelBW) { case HT_CHANNEL_WIDTH_20: - if (priv->Record_CCK_20Mindex == 0) - priv->Record_CCK_20Mindex = 6; - priv->cck_index = priv->Record_CCK_20Mindex; + if (priv->rec_cck_20m_idx == 0) + priv->rec_cck_20m_idx = 6; + priv->cck_index = priv->rec_cck_20m_idx; break; case HT_CHANNEL_WIDTH_20_40: - priv->cck_index = priv->Record_CCK_40Mindex; + priv->cck_index = priv->rec_cck_40m_idx; break; } rtl92e_dm_cck_txpower_adjust(dev, priv->bcck_in_ch14); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index fea5f547b7be..af377f7c7f7b 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -499,11 +499,11 @@ struct r8192_priv { u8 ofdm_index[2]; u8 cck_index; - u8 Record_CCK_20Mindex; - u8 Record_CCK_40Mindex; + u8 rec_cck_20m_idx; + u8 rec_cck_40m_idx; struct init_gain initgain_backup; - u8 DefaultInitialGain[4]; + u8 def_initial_gain[4]; bool bis_any_nonbepkts; bool bcurrent_turbo_EDCA; bool bis_cur_rdlstate; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index f03b479a9143..9789cdd8ac15 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -823,8 +823,8 @@ static void _rtl92e_dm_tx_power_tracking_cb_thermal(struct net_device *dev) else tmpCCKindex = tmpCCK20Mindex; - priv->Record_CCK_20Mindex = tmpCCK20Mindex; - priv->Record_CCK_40Mindex = tmpCCK40Mindex; + priv->rec_cck_20m_idx = tmpCCK20Mindex; + priv->rec_cck_40m_idx = tmpCCK40Mindex; if (priv->rtllib->current_network.channel == 14 && !priv->bcck_in_ch14) { @@ -1378,12 +1378,12 @@ static void _rtl92e_dm_initial_gain(struct net_device *dev) dm_digtable.cur_ig_value = gain_range; } else { if (dm_digtable.cur_ig_value == 0) - dm_digtable.cur_ig_value = priv->DefaultInitialGain[0]; + dm_digtable.cur_ig_value = priv->def_initial_gain[0]; else dm_digtable.cur_ig_value = dm_digtable.pre_ig_value; } } else { - dm_digtable.cur_ig_value = priv->DefaultInitialGain[0]; + dm_digtable.cur_ig_value = priv->def_initial_gain[0]; dm_digtable.pre_ig_value = 0; } From d7e065b3e2dfc6febb2ce544c02ef3885703d1cb Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 15 Jan 2023 21:20:18 +0100 Subject: [PATCH 029/219] staging: rtl8192e: Rename rateCountDi.., ContinueDif.. and TxCounter Rename variable rateCountDiffRecord to rate_count_diff_rec, ContinueDiffCount to continue_diff_count and TxCounter to tx_counter to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/c1e168e60a987ae64b64490c04ad79fd0f2f7583.1673812849.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 4 +-- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 ++--- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 26 +++++++++---------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index ebf1fa5ec295..1f0c53dcbb2d 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -2154,10 +2154,10 @@ bool rtl92e_is_tx_stuck(struct net_device *dev) bool bStuck = false; u16 RegTxCounter = rtl92e_readw(dev, 0x128); - if (priv->TxCounter == RegTxCounter) + if (priv->tx_counter == RegTxCounter) bStuck = true; - priv->TxCounter = RegTxCounter; + priv->tx_counter = RegTxCounter; return bStuck; } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index af377f7c7f7b..be87bb9da6cc 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -510,8 +510,8 @@ struct r8192_priv { bool bfsync_processing; u32 rate_record; - u32 rateCountDiffRecord; - u32 ContinueDiffCount; + u32 rate_count_diff_rec; + u32 continue_diff_count; bool bswitch_fsync; u8 framesync; u32 framesyncC34; @@ -520,7 +520,7 @@ struct r8192_priv { u32 reset_count; enum reset_type rst_progress; - u16 TxCounter; + u16 tx_counter; u16 rx_ctr; bool bResetInProgress; bool force_reset; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 9789cdd8ac15..2a570c28e694 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -2008,31 +2008,31 @@ static void _rtl92e_dm_fsync_timer_callback(struct timer_list *t) priv->rate_record; else rate_count_diff = rate_count - priv->rate_record; - if (rate_count_diff < priv->rateCountDiffRecord) { + if (rate_count_diff < priv->rate_count_diff_rec) { - u32 DiffNum = priv->rateCountDiffRecord - + u32 DiffNum = priv->rate_count_diff_rec - rate_count_diff; if (DiffNum >= priv->rtllib->fsync_seconddiff_ratethreshold) - priv->ContinueDiffCount++; + priv->continue_diff_count++; else - priv->ContinueDiffCount = 0; + priv->continue_diff_count = 0; - if (priv->ContinueDiffCount >= 2) { + if (priv->continue_diff_count >= 2) { bSwitchFromCountDiff = true; - priv->ContinueDiffCount = 0; + priv->continue_diff_count = 0; } } else { - priv->ContinueDiffCount = 0; + priv->continue_diff_count = 0; } if (rate_count_diff <= priv->rtllib->fsync_firstdiff_ratethreshold) { bSwitchFromCountDiff = true; - priv->ContinueDiffCount = 0; + priv->continue_diff_count = 0; } priv->rate_record = rate_count; - priv->rateCountDiffRecord = rate_count_diff; + priv->rate_count_diff_rec = rate_count_diff; if (priv->undecorated_smoothed_pwdb > priv->rtllib->fsync_rssi_threshold && bSwitchFromCountDiff) { @@ -2073,7 +2073,7 @@ static void _rtl92e_dm_fsync_timer_callback(struct timer_list *t) rtl92e_writeb(dev, 0xC36, 0x5c); rtl92e_writeb(dev, 0xC3e, 0x96); } - priv->ContinueDiffCount = 0; + priv->continue_diff_count = 0; rtl92e_writel(dev, rOFDM0_RxDetector2, 0x465c52cd); } } @@ -2114,7 +2114,7 @@ static void _rtl92e_dm_end_sw_fsync(struct net_device *dev) rtl92e_writeb(dev, 0xC3e, 0x96); } - priv->ContinueDiffCount = 0; + priv->continue_diff_count = 0; rtl92e_writel(dev, rOFDM0_RxDetector2, 0x465c52cd); } @@ -2125,8 +2125,8 @@ static void _rtl92e_dm_start_sw_fsync(struct net_device *dev) u32 rate_bitmap; priv->rate_record = 0; - priv->ContinueDiffCount = 0; - priv->rateCountDiffRecord = 0; + priv->continue_diff_count = 0; + priv->rate_count_diff_rec = 0; priv->bswitch_fsync = false; if (priv->rtllib->mode == WIRELESS_MODE_N_24G) { From 18651492d516607c6d60eaae106c04635120928e Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 15 Jan 2023 21:20:32 +0100 Subject: [PATCH 030/219] staging: rtl8192e: Rename bResetInPro.., framesyncMo.. and nCur40MhzPri.. Rename variable bResetInProgress to reset_in_progress, framesyncMonitor to frame_sync_monitor and nCur40MhzPrimeSC to n_cur_40mhz_prime_sc to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/dc9a6353e2342f524d8cbf0de6a6340990dc913b.1673812849.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 2 +- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 10 +++++----- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 10 +++++----- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 10 +++++----- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 1f0c53dcbb2d..734a097ee268 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1074,7 +1074,7 @@ void rtl92e_fill_tx_desc(struct net_device *dev, struct tx_desc *pdesc, pTxFwInfo->TxSubCarrier = 0; } else { pTxFwInfo->TxBandwidth = 0; - pTxFwInfo->TxSubCarrier = priv->nCur40MhzPrimeSC; + pTxFwInfo->TxSubCarrier = priv->n_cur_40mhz_prime_sc; } } else { pTxFwInfo->TxBandwidth = 0; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index a0233281ad94..59b2e8385ef7 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -1156,9 +1156,9 @@ static void _rtl92e_set_bw_mode_work_item(struct net_device *dev) } rtl92e_set_bb_reg(dev, rCCK0_System, bCCKSideBand, - (priv->nCur40MhzPrimeSC>>1)); + (priv->n_cur_40mhz_prime_sc>>1)); rtl92e_set_bb_reg(dev, rOFDM1_LSTF, 0xC00, - priv->nCur40MhzPrimeSC); + priv->n_cur_40mhz_prime_sc); rtl92e_set_bb_reg(dev, rFPGA0_AnalogParameter1, 0x00100000, 0); break; @@ -1208,11 +1208,11 @@ void rtl92e_set_bw_mode(struct net_device *dev, enum ht_channel_width bandwidth, priv->CurrentChannelBW = bandwidth; if (Offset == HT_EXTCHNL_OFFSET_LOWER) - priv->nCur40MhzPrimeSC = HAL_PRIME_CHNL_OFFSET_UPPER; + priv->n_cur_40mhz_prime_sc = HAL_PRIME_CHNL_OFFSET_UPPER; else if (Offset == HT_EXTCHNL_OFFSET_UPPER) - priv->nCur40MhzPrimeSC = HAL_PRIME_CHNL_OFFSET_LOWER; + priv->n_cur_40mhz_prime_sc = HAL_PRIME_CHNL_OFFSET_LOWER; else - priv->nCur40MhzPrimeSC = HAL_PRIME_CHNL_OFFSET_DONT_CARE; + priv->n_cur_40mhz_prime_sc = HAL_PRIME_CHNL_OFFSET_DONT_CARE; _rtl92e_set_bw_mode_work_item(dev); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 050f0435ab6d..8e1180b75d38 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -1138,7 +1138,7 @@ static void _rtl92e_if_silent_reset(struct net_device *dev) goto END; } priv->rf_change_in_progress = true; - priv->bResetInProgress = true; + priv->reset_in_progress = true; spin_unlock_irqrestore(&priv->rf_ps_lock, flag); RESET_START: @@ -1229,7 +1229,7 @@ static void _rtl92e_if_silent_reset(struct net_device *dev) END: priv->rst_progress = RESET_TYPE_NORESET; priv->reset_count++; - priv->bResetInProgress = false; + priv->reset_in_progress = false; rtl92e_writeb(dev, UFWP, 1); } @@ -1397,7 +1397,7 @@ static void _rtl92e_watchdog_wq_cb(void *data) if ((priv->force_reset || ResetType == RESET_TYPE_SILENT)) _rtl92e_if_silent_reset(dev); priv->force_reset = false; - priv->bResetInProgress = false; + priv->reset_in_progress = false; } static void _rtl92e_watchdog_timer_cb(struct timer_list *t) @@ -1486,7 +1486,7 @@ static void _rtl92e_hard_data_xmit(struct sk_buff *skb, struct net_device *dev, u8 queue_index = tcb_desc->queue_index; if ((priv->rtllib->rf_power_state == rf_off) || !priv->up || - priv->bResetInProgress) { + priv->reset_in_progress) { kfree_skb(skb); return; } @@ -1519,7 +1519,7 @@ static int _rtl92e_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) if (queue_index != TXCMD_QUEUE) { if ((priv->rtllib->rf_power_state == rf_off) || - !priv->up || priv->bResetInProgress) { + !priv->up || priv->reset_in_progress) { kfree_skb(skb); return 0; } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index be87bb9da6cc..ed9ddb2f987b 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -442,7 +442,7 @@ struct r8192_priv { u8 SwChnlStep; u8 SetBWModeInProgress; - u8 nCur40MhzPrimeSC; + u8 n_cur_40mhz_prime_sc; u32 rf_reg_0value[4]; u8 num_total_rf_path; @@ -515,14 +515,14 @@ struct r8192_priv { bool bswitch_fsync; u8 framesync; u32 framesyncC34; - u8 framesyncMonitor; + u8 frame_sync_monitor; u32 reset_count; enum reset_type rst_progress; u16 tx_counter; u16 rx_ctr; - bool bResetInProgress; + bool reset_in_progress; bool force_reset; bool force_lps; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 2a570c28e694..0e278b872470 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -640,7 +640,7 @@ static void _rtl92e_dm_tx_power_tracking_callback_tssi(struct net_device *dev) if (Pwr_Flag == 0) { mdelay(1); - if (priv->bResetInProgress) { + if (priv->reset_in_progress) { rtl92e_writeb(dev, Pw_Track_Flag, 0); rtl92e_writeb(dev, FW_Busy_Flag, 0); return; @@ -1969,7 +1969,7 @@ static void _rtl92e_dm_init_fsync(struct net_device *dev) priv->rtllib->fsync_firstdiff_ratethreshold = 100; priv->rtllib->fsync_seconddiff_ratethreshold = 200; priv->rtllib->fsync_state = Default_Fsync; - priv->framesyncMonitor = 1; + priv->frame_sync_monitor = 1; timer_setup(&priv->fsync_timer, _rtl92e_dm_fsync_timer_callback, 0); } @@ -2196,7 +2196,7 @@ static void _rtl92e_dm_check_fsync(struct net_device *dev) } } - if (priv->framesyncMonitor) { + if (priv->frame_sync_monitor) { if (reg_c38_State != RegC38_Fsync_AP_BCM) { rtl92e_writeb(dev, rOFDM0_RxDetector3, 0x95); @@ -2218,7 +2218,7 @@ static void _rtl92e_dm_check_fsync(struct net_device *dev) break; } - if (priv->framesyncMonitor) { + if (priv->frame_sync_monitor) { if (priv->rtllib->state == RTLLIB_LINKED) { if (priv->undecorated_smoothed_pwdb <= RegC38_TH) { @@ -2249,7 +2249,7 @@ static void _rtl92e_dm_check_fsync(struct net_device *dev) } } } - if (priv->framesyncMonitor) { + if (priv->frame_sync_monitor) { if (priv->reset_count != reset_cnt) { rtl92e_writeb(dev, rOFDM0_RxDetector3, priv->framesync); From cc7c9cb65992f0b7728f07932c8dedd22f208ab6 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 15 Jan 2023 21:20:40 +0100 Subject: [PATCH 031/219] staging: rtl8192e: Rename SetBWModeIn.., SwChnlInPro.. and ThermalMet.. Rename variable SetBWModeInProgress to set_bw_mode_in_progress, SwChnlInProgress to sw_chnl_in_progress and ThermalMeter to thermal_meter to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/fc8bffbef60dba7aeb3bdfeab031c4e02e551c82.1673812849.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 8 ++++---- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 14 +++++++------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 10 +++++----- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 734a097ee268..1499e6b2fa39 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -421,8 +421,8 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->antenna_tx_pwr_diff[2] = (priv->EEPROMAntPwDiff & 0xf00) >> 8; priv->CrystalCap = priv->EEPROMCrystalCap; - priv->ThermalMeter[0] = priv->EEPROMThermalMeter & 0xf; - priv->ThermalMeter[1] = (priv->EEPROMThermalMeter & + priv->thermal_meter[0] = priv->EEPROMThermalMeter & 0xf; + priv->thermal_meter[1] = (priv->EEPROMThermalMeter & 0xf0) >> 4; } else if (priv->epromtype == EEPROM_93C56) { @@ -462,8 +462,8 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->antenna_tx_pwr_diff[1] = 0; priv->antenna_tx_pwr_diff[2] = 0; priv->CrystalCap = priv->EEPROMCrystalCap; - priv->ThermalMeter[0] = priv->EEPROMThermalMeter & 0xf; - priv->ThermalMeter[1] = (priv->EEPROMThermalMeter & + priv->thermal_meter[0] = priv->EEPROMThermalMeter & 0xf; + priv->thermal_meter[1] = (priv->EEPROMThermalMeter & 0xf0) >> 4; } } diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 59b2e8385ef7..2af6763707d0 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -954,7 +954,7 @@ u8 rtl92e_set_channel(struct net_device *dev, u8 channel) netdev_err(dev, "%s(): Driver is not initialized\n", __func__); return false; } - if (priv->SwChnlInProgress) + if (priv->sw_chnl_in_progress) return false; @@ -987,7 +987,7 @@ u8 rtl92e_set_channel(struct net_device *dev, u8 channel) break; } - priv->SwChnlInProgress = true; + priv->sw_chnl_in_progress = true; if (channel == 0) channel = 1; @@ -998,7 +998,7 @@ u8 rtl92e_set_channel(struct net_device *dev, u8 channel) if (priv->up) _rtl92e_phy_switch_channel_work_item(dev); - priv->SwChnlInProgress = false; + priv->sw_chnl_in_progress = false; return true; } @@ -1101,7 +1101,7 @@ static void _rtl92e_set_bw_mode_work_item(struct net_device *dev) u8 regBwOpMode; if (priv->rf_chip == RF_PSEUDO_11N) { - priv->SetBWModeInProgress = false; + priv->set_bw_mode_in_progress = false; return; } if (!priv->up) { @@ -1190,7 +1190,7 @@ static void _rtl92e_set_bw_mode_work_item(struct net_device *dev) } atomic_dec(&(priv->rtllib->atm_swbw)); - priv->SetBWModeInProgress = false; + priv->set_bw_mode_in_progress = false; } void rtl92e_set_bw_mode(struct net_device *dev, enum ht_channel_width bandwidth, @@ -1199,11 +1199,11 @@ void rtl92e_set_bw_mode(struct net_device *dev, enum ht_channel_width bandwidth, struct r8192_priv *priv = rtllib_priv(dev); - if (priv->SetBWModeInProgress) + if (priv->set_bw_mode_in_progress) return; atomic_inc(&(priv->rtllib->atm_swbw)); - priv->SetBWModeInProgress = true; + priv->set_bw_mode_in_progress = true; priv->CurrentChannelBW = bandwidth; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index ed9ddb2f987b..edc02a61a92d 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -435,12 +435,12 @@ struct r8192_priv { u8 EEPROMLegacyHTTxPowerDiff; u8 CrystalCap; - u8 ThermalMeter[2]; + u8 thermal_meter[2]; - u8 SwChnlInProgress; + u8 sw_chnl_in_progress; u8 SwChnlStage; u8 SwChnlStep; - u8 SetBWModeInProgress; + u8 set_bw_mode_in_progress; u8 n_cur_40mhz_prime_sc; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 0e278b872470..96c45e5172bd 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -794,11 +794,11 @@ static void _rtl92e_dm_tx_power_tracking_cb_thermal(struct net_device *dev) return; if (tmpRegA >= 12) tmpRegA = 12; - priv->ThermalMeter[0] = ThermalMeterVal; - priv->ThermalMeter[1] = ThermalMeterVal; + priv->thermal_meter[0] = ThermalMeterVal; + priv->thermal_meter[1] = ThermalMeterVal; - if (priv->ThermalMeter[0] >= (u8)tmpRegA) { - tmpOFDMindex = tmpCCK20Mindex = 6+(priv->ThermalMeter[0] - + if (priv->thermal_meter[0] >= (u8)tmpRegA) { + tmpOFDMindex = tmpCCK20Mindex = 6+(priv->thermal_meter[0] - (u8)tmpRegA); tmpCCK40Mindex = tmpCCK20Mindex - 6; if (tmpOFDMindex >= OFDM_Table_Length) @@ -808,7 +808,7 @@ static void _rtl92e_dm_tx_power_tracking_cb_thermal(struct net_device *dev) if (tmpCCK40Mindex >= CCK_Table_length) tmpCCK40Mindex = CCK_Table_length-1; } else { - tmpval = (u8)tmpRegA - priv->ThermalMeter[0]; + tmpval = (u8)tmpRegA - priv->thermal_meter[0]; if (tmpval >= 6) { tmpOFDMindex = 0; tmpCCK20Mindex = 0; From ca17bcc74084b301e7ae120473b09d7a152f32c7 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 15 Jan 2023 21:20:48 +0100 Subject: [PATCH 032/219] staging: rtl8192e: Rename CrystalCap, EEPROMLegacyHTT.. and EEPROMCrys.. Rename variable CrystalCap to crystal_cap, EEPROMLegacyHTTxPowerDiff to eeprom_legacy_ht_tx_pwr_diff and EEPROMCrystalCap to eeprom_crystal_cap to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/16337153218e9d1e25f90ca17774d1246086f1a7.1673812849.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 16 ++++++++-------- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 2 +- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 1499e6b2fa39..df8cdea5ee95 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -355,14 +355,14 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) if (!priv->AutoloadFailFlag) { tempval = (rtl92e_eeprom_read(dev, (EEPROM_RFInd_PowerDiff >> 1))) & 0xff; - priv->EEPROMLegacyHTTxPowerDiff = tempval & 0xf; + priv->eeprom_legacy_ht_tx_pwr_diff = tempval & 0xf; if (tempval&0x80) priv->rf_type = RF_1T2R; else priv->rf_type = RF_2T4R; } else { - priv->EEPROMLegacyHTTxPowerDiff = 0x04; + priv->eeprom_legacy_ht_tx_pwr_diff = 0x04; } if (!priv->AutoloadFailFlag) @@ -378,12 +378,12 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) usValue = rtl92e_eeprom_read(dev, EEPROM_TxPwDiff_CrystalCap >> 1); priv->EEPROMAntPwDiff = usValue & 0x0fff; - priv->EEPROMCrystalCap = (usValue & 0xf000) + priv->eeprom_crystal_cap = (usValue & 0xf000) >> 12; } else { priv->EEPROMAntPwDiff = EEPROM_Default_AntTxPowerDiff; - priv->EEPROMCrystalCap = + priv->eeprom_crystal_cap = EEPROM_Default_TxPwDiff_CrystalCap; } @@ -414,13 +414,13 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->EEPROMTxPowerLevelOFDM24G[i]; } priv->legacy_ht_tx_pwr_diff = - priv->EEPROMLegacyHTTxPowerDiff; + priv->eeprom_legacy_ht_tx_pwr_diff; priv->antenna_tx_pwr_diff[0] = priv->EEPROMAntPwDiff & 0xf; priv->antenna_tx_pwr_diff[1] = (priv->EEPROMAntPwDiff & 0xf0) >> 4; priv->antenna_tx_pwr_diff[2] = (priv->EEPROMAntPwDiff & 0xf00) >> 8; - priv->CrystalCap = priv->EEPROMCrystalCap; + priv->crystal_cap = priv->eeprom_crystal_cap; priv->thermal_meter[0] = priv->EEPROMThermalMeter & 0xf; priv->thermal_meter[1] = (priv->EEPROMThermalMeter & 0xf0) >> 4; @@ -457,11 +457,11 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->EEPROMRfCOfdmChnlTxPwLevel[2]; } priv->legacy_ht_tx_pwr_diff = - priv->EEPROMLegacyHTTxPowerDiff; + priv->eeprom_legacy_ht_tx_pwr_diff; priv->antenna_tx_pwr_diff[0] = 0; priv->antenna_tx_pwr_diff[1] = 0; priv->antenna_tx_pwr_diff[2] = 0; - priv->CrystalCap = priv->EEPROMCrystalCap; + priv->crystal_cap = priv->eeprom_crystal_cap; priv->thermal_meter[0] = priv->EEPROMThermalMeter & 0xf; priv->thermal_meter[1] = (priv->EEPROMThermalMeter & 0xf0) >> 4; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 2af6763707d0..6da76ea16ff1 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -544,7 +544,7 @@ static bool _rtl92e_bb_config_para_file(struct net_device *dev) (bXBTxAGC|bXCTxAGC|bXDTxAGC), dwRegValue); - dwRegValue = priv->CrystalCap; + dwRegValue = priv->crystal_cap; rtl92e_set_bb_reg(dev, rFPGA0_AnalogParameter1, bXtalCap92x, dwRegValue); } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index edc02a61a92d..4a2b4f01507e 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -430,11 +430,11 @@ struct r8192_priv { u8 EEPROMRfCOfdmChnlTxPwLevel[3]; u16 EEPROMAntPwDiff; u8 EEPROMThermalMeter; - u8 EEPROMCrystalCap; + u8 eeprom_crystal_cap; - u8 EEPROMLegacyHTTxPowerDiff; + u8 eeprom_legacy_ht_tx_pwr_diff; - u8 CrystalCap; + u8 crystal_cap; u8 thermal_meter[2]; u8 sw_chnl_in_progress; From 0f9d51975f2bdfdbd352f1678876074d6a6f5ff2 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 15 Jan 2023 21:20:58 +0100 Subject: [PATCH 033/219] staging: rtl8192e: Rename EEPROMTherma.., EEPROMAntPw.. and EEPROMTxPow.. Rename variable EEPROMThermalMeter to eeprom_thermal_meter, EEPROMAntPwDiff to eeprom_ant_pwr_diff and EEPROMTxPowerLevelOFDM24G to eeprom_tx_pwr_level_ofdm24g to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/f708533cc24af1e08f34b681b9e8e8c01dc7b8f5.1673812850.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 28 +++++++++---------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 ++-- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index df8cdea5ee95..655a7966a876 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -366,22 +366,22 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) } if (!priv->AutoloadFailFlag) - priv->EEPROMThermalMeter = ((rtl92e_eeprom_read(dev, + priv->eeprom_thermal_meter = ((rtl92e_eeprom_read(dev, (EEPROM_ThermalMeter>>1))) & 0xff00) >> 8; else - priv->EEPROMThermalMeter = EEPROM_Default_ThermalMeter; - priv->tssi_13dBm = priv->EEPROMThermalMeter * 100; + priv->eeprom_thermal_meter = EEPROM_Default_ThermalMeter; + priv->tssi_13dBm = priv->eeprom_thermal_meter * 100; if (priv->epromtype == EEPROM_93C46) { if (!priv->AutoloadFailFlag) { usValue = rtl92e_eeprom_read(dev, EEPROM_TxPwDiff_CrystalCap >> 1); - priv->EEPROMAntPwDiff = usValue & 0x0fff; + priv->eeprom_ant_pwr_diff = usValue & 0x0fff; priv->eeprom_crystal_cap = (usValue & 0xf000) >> 12; } else { - priv->EEPROMAntPwDiff = + priv->eeprom_ant_pwr_diff = EEPROM_Default_AntTxPowerDiff; priv->eeprom_crystal_cap = EEPROM_Default_TxPwDiff_CrystalCap; @@ -402,7 +402,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) (EEPROM_TxPwIndex_OFDM_24G + i) >> 1); else usValue = EEPROM_Default_TxPower; - *((u16 *)(&priv->EEPROMTxPowerLevelOFDM24G[i])) + *((u16 *)(&priv->eeprom_tx_pwr_level_ofdm24g[i])) = usValue; } } @@ -411,18 +411,18 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->tx_pwr_level_cck[i] = priv->EEPROMTxPowerLevelCCK[i]; priv->tx_pwr_level_ofdm_24g[i] = - priv->EEPROMTxPowerLevelOFDM24G[i]; + priv->eeprom_tx_pwr_level_ofdm24g[i]; } priv->legacy_ht_tx_pwr_diff = priv->eeprom_legacy_ht_tx_pwr_diff; - priv->antenna_tx_pwr_diff[0] = priv->EEPROMAntPwDiff & 0xf; - priv->antenna_tx_pwr_diff[1] = (priv->EEPROMAntPwDiff & + priv->antenna_tx_pwr_diff[0] = priv->eeprom_ant_pwr_diff & 0xf; + priv->antenna_tx_pwr_diff[1] = (priv->eeprom_ant_pwr_diff & 0xf0) >> 4; - priv->antenna_tx_pwr_diff[2] = (priv->EEPROMAntPwDiff & + priv->antenna_tx_pwr_diff[2] = (priv->eeprom_ant_pwr_diff & 0xf00) >> 8; priv->crystal_cap = priv->eeprom_crystal_cap; - priv->thermal_meter[0] = priv->EEPROMThermalMeter & 0xf; - priv->thermal_meter[1] = (priv->EEPROMThermalMeter & + priv->thermal_meter[0] = priv->eeprom_thermal_meter & 0xf; + priv->thermal_meter[1] = (priv->eeprom_thermal_meter & 0xf0) >> 4; } else if (priv->epromtype == EEPROM_93C56) { @@ -462,8 +462,8 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->antenna_tx_pwr_diff[1] = 0; priv->antenna_tx_pwr_diff[2] = 0; priv->crystal_cap = priv->eeprom_crystal_cap; - priv->thermal_meter[0] = priv->EEPROMThermalMeter & 0xf; - priv->thermal_meter[1] = (priv->EEPROMThermalMeter & + priv->thermal_meter[0] = priv->eeprom_thermal_meter & 0xf; + priv->thermal_meter[1] = (priv->eeprom_thermal_meter & 0xf0) >> 4; } } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 4a2b4f01507e..9cb717892dcb 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -423,13 +423,13 @@ struct r8192_priv { u16 eeprom_chnl_plan; u8 EEPROMTxPowerLevelCCK[14]; - u8 EEPROMTxPowerLevelOFDM24G[14]; + u8 eeprom_tx_pwr_level_ofdm24g[14]; u8 EEPROMRfACCKChnl1TxPwLevel[3]; u8 EEPROMRfAOfdmChnlTxPwLevel[3]; u8 EEPROMRfCCCKChnl1TxPwLevel[3]; u8 EEPROMRfCOfdmChnlTxPwLevel[3]; - u16 EEPROMAntPwDiff; - u8 EEPROMThermalMeter; + u16 eeprom_ant_pwr_diff; + u8 eeprom_thermal_meter; u8 eeprom_crystal_cap; u8 eeprom_legacy_ht_tx_pwr_diff; From 69c382a5e06d4a78bca67e62e8b30859358c9a22 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 15 Jan 2023 21:21:07 +0100 Subject: [PATCH 034/219] staging: rtl8192e: Rename EEPROMTxPower.., AutoloadF.. and SilentReset.. Rename variable EEPROMTxPowerLevelCCK to eeprom_tx_pwr_level_cck, AutoloadFailFlag to autoload_fail_flag and SilentResetRxStuckEvent to silent_reset_rx_stuck_event to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/328bdd5fd16ba000d2083473e16e89ce2e2521ee.1673812850.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 30 +++++++++---------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 ++-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 655a7966a876..8522a4b9b8f1 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -292,12 +292,12 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) if (EEPROMId != RTL8190_EEPROM_ID) { netdev_err(dev, "%s(): Invalid EEPROM ID: %x\n", __func__, EEPROMId); - priv->AutoloadFailFlag = true; + priv->autoload_fail_flag = true; } else { - priv->AutoloadFailFlag = false; + priv->autoload_fail_flag = false; } - if (!priv->AutoloadFailFlag) { + if (!priv->autoload_fail_flag) { priv->eeprom_vid = rtl92e_eeprom_read(dev, EEPROM_VID >> 1); priv->eeprom_did = rtl92e_eeprom_read(dev, EEPROM_DID >> 1); @@ -331,7 +331,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->eeprom_chnl_plan = 0; } - if (!priv->AutoloadFailFlag) { + if (!priv->autoload_fail_flag) { u8 addr[ETH_ALEN]; for (i = 0; i < 6; i += 2) { @@ -352,7 +352,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->rf_type = RTL819X_DEFAULT_RF_TYPE; if (priv->card_8192_version > VERSION_8190_BD) { - if (!priv->AutoloadFailFlag) { + if (!priv->autoload_fail_flag) { tempval = (rtl92e_eeprom_read(dev, (EEPROM_RFInd_PowerDiff >> 1))) & 0xff; priv->eeprom_legacy_ht_tx_pwr_diff = tempval & 0xf; @@ -365,7 +365,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->eeprom_legacy_ht_tx_pwr_diff = 0x04; } - if (!priv->AutoloadFailFlag) + if (!priv->autoload_fail_flag) priv->eeprom_thermal_meter = ((rtl92e_eeprom_read(dev, (EEPROM_ThermalMeter>>1))) & 0xff00) >> 8; @@ -374,7 +374,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->tssi_13dBm = priv->eeprom_thermal_meter * 100; if (priv->epromtype == EEPROM_93C46) { - if (!priv->AutoloadFailFlag) { + if (!priv->autoload_fail_flag) { usValue = rtl92e_eeprom_read(dev, EEPROM_TxPwDiff_CrystalCap >> 1); priv->eeprom_ant_pwr_diff = usValue & 0x0fff; @@ -388,16 +388,16 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) } for (i = 0; i < 14; i += 2) { - if (!priv->AutoloadFailFlag) + if (!priv->autoload_fail_flag) usValue = rtl92e_eeprom_read(dev, (EEPROM_TxPwIndex_CCK + i) >> 1); else usValue = EEPROM_Default_TxPower; - *((u16 *)(&priv->EEPROMTxPowerLevelCCK[i])) = + *((u16 *)(&priv->eeprom_tx_pwr_level_cck[i])) = usValue; } for (i = 0; i < 14; i += 2) { - if (!priv->AutoloadFailFlag) + if (!priv->autoload_fail_flag) usValue = rtl92e_eeprom_read(dev, (EEPROM_TxPwIndex_OFDM_24G + i) >> 1); else @@ -409,7 +409,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) if (priv->epromtype == EEPROM_93C46) { for (i = 0; i < 14; i++) { priv->tx_pwr_level_cck[i] = - priv->EEPROMTxPowerLevelCCK[i]; + priv->eeprom_tx_pwr_level_cck[i]; priv->tx_pwr_level_ofdm_24g[i] = priv->eeprom_tx_pwr_level_ofdm24g[i]; } @@ -2126,21 +2126,21 @@ bool rtl92e_is_rx_stuck(struct net_device *dev) SlotIndex = (priv->SilentResetRxSlotIndex++)%SilentResetRxSoltNum; if (priv->rx_ctr == RegRxCounter) { - priv->SilentResetRxStuckEvent[SlotIndex] = 1; + priv->silent_reset_rx_stuck_event[SlotIndex] = 1; for (i = 0; i < SilentResetRxSoltNum; i++) - TotalRxStuckCount += priv->SilentResetRxStuckEvent[i]; + TotalRxStuckCount += priv->silent_reset_rx_stuck_event[i]; if (TotalRxStuckCount == SilentResetRxSoltNum) { bStuck = true; for (i = 0; i < SilentResetRxSoltNum; i++) TotalRxStuckCount += - priv->SilentResetRxStuckEvent[i]; + priv->silent_reset_rx_stuck_event[i]; } } else { - priv->SilentResetRxStuckEvent[SlotIndex] = 0; + priv->silent_reset_rx_stuck_event[SlotIndex] = 0; } priv->rx_ctr = RegRxCounter; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 9cb717892dcb..bd524a818776 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -406,7 +406,7 @@ struct r8192_priv { u8 check_roaming_cnt; u32 SilentResetRxSlotIndex; - u32 SilentResetRxStuckEvent[MAX_SILENT_RESET_RX_SLOT_NUM]; + u32 silent_reset_rx_stuck_event[MAX_SILENT_RESET_RX_SLOT_NUM]; u16 basic_rate; u8 short_preamble; @@ -414,7 +414,7 @@ struct r8192_priv { u8 slot_time; u16 SifsTime; - bool AutoloadFailFlag; + bool autoload_fail_flag; short epromtype; u16 eeprom_vid; @@ -422,7 +422,7 @@ struct r8192_priv { u8 eeprom_CustomerID; u16 eeprom_chnl_plan; - u8 EEPROMTxPowerLevelCCK[14]; + u8 eeprom_tx_pwr_level_cck[14]; u8 eeprom_tx_pwr_level_ofdm24g[14]; u8 EEPROMRfACCKChnl1TxPwLevel[3]; u8 EEPROMRfAOfdmChnlTxPwLevel[3]; From 1cd8fbfafdfa345e01f9ff434e6a63a3cbb37210 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 15 Jan 2023 21:21:14 +0100 Subject: [PATCH 035/219] staging: rtl8192e: Rename EEPROMTxPower.., AutoloadF.. and SilentReset.. Rename variable SilentResetRxSlotIndex to silent_reset_rx_slot_index, IC_Cut to ic_cut and Rf_Mode to rf_mode to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/60c1fb2861143c8736f061cf85e737b78c210a09.1673812850.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 12 ++++++------ drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 10 +++++----- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 8 ++++---- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 8522a4b9b8f1..9cffe09e429c 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -614,7 +614,7 @@ bool rtl92e_start_adapter(struct net_device *dev) start: rtl92e_reset_desc_ring(dev); - priv->Rf_Mode = RF_OP_By_SW_3wire; + priv->rf_mode = RF_OP_By_SW_3wire; if (priv->rst_progress == RESET_TYPE_NORESET) { rtl92e_writeb(dev, ANAPAR, 0x37); mdelay(500); @@ -724,7 +724,7 @@ bool rtl92e_start_adapter(struct net_device *dev) } tmpvalue = rtl92e_readb(dev, IC_VERRSION); - priv->IC_Cut = tmpvalue; + priv->ic_cut = tmpvalue; bfirmwareok = rtl92e_init_fw(dev); if (!bfirmwareok) { @@ -760,14 +760,14 @@ bool rtl92e_start_adapter(struct net_device *dev) } if (priv->rtllib->FwRWRF) - priv->Rf_Mode = RF_OP_By_FW; + priv->rf_mode = RF_OP_By_FW; else - priv->Rf_Mode = RF_OP_By_SW_3wire; + priv->rf_mode = RF_OP_By_SW_3wire; if (priv->rst_progress == RESET_TYPE_NORESET) { rtl92e_dm_init_txpower_tracking(dev); - if (priv->IC_Cut >= IC_VersionCut_D) { + if (priv->ic_cut >= IC_VersionCut_D) { tmpRegA = rtl92e_get_bb_reg(dev, rOFDM0_XATxIQImbalance, bMaskDWord); rtl92e_get_bb_reg(dev, rOFDM0_XCTxIQImbalance, bMaskDWord); @@ -2123,7 +2123,7 @@ bool rtl92e_is_rx_stuck(struct net_device *dev) } - SlotIndex = (priv->SilentResetRxSlotIndex++)%SilentResetRxSoltNum; + SlotIndex = (priv->silent_reset_rx_slot_index++)%SilentResetRxSoltNum; if (priv->rx_ctr == RegRxCounter) { priv->silent_reset_rx_stuck_event[SlotIndex] = 1; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 6da76ea16ff1..97e859425784 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -203,7 +203,7 @@ void rtl92e_set_rf_reg(struct net_device *dev, enum rf90_radio_path eRFPath, if (priv->rtllib->rf_power_state != rf_on && !priv->being_init_adapter) return; - if (priv->Rf_Mode == RF_OP_By_FW) { + if (priv->rf_mode == RF_OP_By_FW) { if (BitMask != bMask12Bits) { Original_Value = _rtl92e_phy_rf_fw_read(dev, eRFPath, RegAddr); @@ -240,7 +240,7 @@ u32 rtl92e_get_rf_reg(struct net_device *dev, enum rf90_radio_path eRFPath, if (priv->rtllib->rf_power_state != rf_on && !priv->being_init_adapter) return 0; mutex_lock(&priv->rf_mutex); - if (priv->Rf_Mode == RF_OP_By_FW) { + if (priv->rf_mode == RF_OP_By_FW) { Original_Value = _rtl92e_phy_rf_fw_read(dev, eRFPath, RegAddr); udelay(200); } else { @@ -533,7 +533,7 @@ static bool _rtl92e_bb_config_para_file(struct net_device *dev) _rtl92e_phy_config_bb(dev, BaseBand_Config_AGC_TAB); - if (priv->IC_Cut > VERSION_8190_BD) { + if (priv->ic_cut > VERSION_8190_BD) { if (priv->rf_type == RF_2T4R) dwRegValue = priv->antenna_tx_pwr_diff[2] << 8 | priv->antenna_tx_pwr_diff[1] << 4 | @@ -886,7 +886,7 @@ static u8 _rtl92e_phy_switch_channel_step(struct net_device *dev, u8 channel, continue; switch (CurrentCmd->CmdID) { case CmdID_SetTxPowerLevel: - if (priv->IC_Cut > VERSION_8190_BD) + if (priv->ic_cut > VERSION_8190_BD) _rtl92e_set_tx_power_level(dev, channel); break; @@ -1088,7 +1088,7 @@ static void _rtl92e_cck_tx_power_track_bw_switch(struct net_device *dev) { struct r8192_priv *priv = rtllib_priv(dev); - if (priv->IC_Cut >= IC_VersionCut_D) + if (priv->ic_cut >= IC_VersionCut_D) _rtl92e_cck_tx_power_track_bw_switch_tssi(dev); else _rtl92e_cck_tx_power_track_bw_switch_thermal(dev); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index bd524a818776..d86577277844 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -396,16 +396,16 @@ struct r8192_priv { u32 irq_mask[2]; - u8 Rf_Mode; + u8 rf_mode; enum nic_t card_8192; u8 card_8192_version; u8 rf_type; - u8 IC_Cut; + u8 ic_cut; char nick[IW_ESSID_MAX_SIZE + 1]; u8 check_roaming_cnt; - u32 SilentResetRxSlotIndex; + u32 silent_reset_rx_slot_index; u32 silent_reset_rx_stuck_event[MAX_SILENT_RESET_RX_SLOT_NUM]; u16 basic_rate; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 96c45e5172bd..63be5f2872c6 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -857,7 +857,7 @@ void rtl92e_dm_txpower_tracking_wq(void *data) struct r8192_priv, txpower_tracking_wq); struct net_device *dev = priv->rtllib->dev; - if (priv->IC_Cut >= IC_VersionCut_D) + if (priv->ic_cut >= IC_VersionCut_D) _rtl92e_dm_tx_power_tracking_callback_tssi(dev); else _rtl92e_dm_tx_power_tracking_cb_thermal(dev); @@ -891,7 +891,7 @@ void rtl92e_dm_init_txpower_tracking(struct net_device *dev) { struct r8192_priv *priv = rtllib_priv(dev); - if (priv->IC_Cut >= IC_VersionCut_D) + if (priv->ic_cut >= IC_VersionCut_D) _rtl92e_dm_initialize_tx_power_tracking_tssi(dev); else _rtl92e_dm_init_tx_power_tracking_thermal(dev); @@ -952,7 +952,7 @@ static void _rtl92e_dm_check_tx_power_tracking(struct net_device *dev) { struct r8192_priv *priv = rtllib_priv(dev); - if (priv->IC_Cut >= IC_VersionCut_D) + if (priv->ic_cut >= IC_VersionCut_D) _rtl92e_dm_check_tx_power_tracking_tssi(dev); else _rtl92e_dm_check_tx_power_tracking_thermal(dev); @@ -1038,7 +1038,7 @@ void rtl92e_dm_cck_txpower_adjust(struct net_device *dev, bool binch14) { struct r8192_priv *priv = rtllib_priv(dev); - if (priv->IC_Cut >= IC_VersionCut_D) + if (priv->ic_cut >= IC_VersionCut_D) _rtl92e_dm_cck_tx_power_adjust_tssi(dev, binch14); else _rtl92e_dm_cck_tx_power_adjust_thermal_meter(dev, binch14); From 799468fb50e799552ad18e3774c80a56975157b7 Mon Sep 17 00:00:00 2001 From: Kang Minchul Date: Sat, 17 Dec 2022 07:39:42 +0900 Subject: [PATCH 036/219] staging: r8188eu: Prefer kcalloc over kzalloc Fixed following checkpatch.pl warning: * WARNING: Prefer kcalloc over kzalloc with multiply Instead of specifying (number of bytes) * (size) as arugment in kzalloc, prefer kcalloc. Signed-off-by: Kang Minchul Tested-by: Philipp Hortmann # Edimax N150 Reviewed-by: Martin Kaiser Link: https://lore.kernel.org/r/20221216223942.334221-1-tegongkang@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 34494f08c0cd..36ce1e3f9c81 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1564,7 +1564,7 @@ int rtw_alloc_hwxmits(struct adapter *padapter) pxmitpriv->hwxmit_entry = HWXMIT_ENTRY; - pxmitpriv->hwxmits = kzalloc(sizeof(struct hw_xmit) * pxmitpriv->hwxmit_entry, GFP_KERNEL); + pxmitpriv->hwxmits = kcalloc(pxmitpriv->hwxmit_entry, sizeof(struct hw_xmit), GFP_KERNEL); if (!pxmitpriv->hwxmits) return -ENOMEM; From 78dde77b227f66ad95c15f001b2dc3d7e2aa0635 Mon Sep 17 00:00:00 2001 From: Xu Panda Date: Mon, 26 Dec 2022 19:05:47 +0800 Subject: [PATCH 037/219] staging: r8188eu: use strscpy() to instead of strncpy() The implementation of strscpy() is more robust and safer. That's now the recommended way to copy NUL-terminated strings. Signed-off-by: Xu Panda Signed-off-by: Yang Yang Reviewed-by: Dan Carpenter Link: https://lore.kernel.org/r/202212261905476729002@zte.com.cn Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/os_dep/ioctl_linux.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging/r8188eu/os_dep/ioctl_linux.c index 8e9b7b0664bc..e0a819970546 100644 --- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c +++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c @@ -3061,8 +3061,7 @@ static int rtw_rereg_nd_name(struct net_device *dev, char *reg_ifname; reg_ifname = padapter->registrypriv.if2name; - strncpy(rereg_priv->old_ifname, reg_ifname, IFNAMSIZ); - rereg_priv->old_ifname[IFNAMSIZ - 1] = 0; + strscpy(rereg_priv->old_ifname, reg_ifname, IFNAMSIZ); } if (wrqu->data.length > IFNAMSIZ) @@ -3084,8 +3083,7 @@ static int rtw_rereg_nd_name(struct net_device *dev, rtw_ips_mode_req(&padapter->pwrctrlpriv, rereg_priv->old_ips_mode); } - strncpy(rereg_priv->old_ifname, new_ifname, IFNAMSIZ); - rereg_priv->old_ifname[IFNAMSIZ - 1] = 0; + strscpy(rereg_priv->old_ifname, new_ifname, IFNAMSIZ); if (!memcmp(new_ifname, "disable%d", 9)) { /* free network queue for Android's timming issue */ From 51413ad540cf7648bca9bb7daef08d4e65d893b1 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 18:53:23 +0100 Subject: [PATCH 038/219] staging: r8188eu: merge on_action_public_vendor into its caller Apart from declaring variables, on_action_public_vendor is only an if statement. Merge this function into its only caller. This makes the code a tiny bit smaller. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230175326.90617-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c index 1b9cf7596a76..cfa65813d3f2 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -3735,15 +3735,6 @@ static unsigned int on_action_public_p2p(struct recv_frame *precv_frame) return _SUCCESS; } -static void on_action_public_vendor(struct recv_frame *precv_frame) -{ - u8 *pframe = precv_frame->rx_data; - u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr); - - if (!memcmp(frame_body + 2, P2P_OUI, 4)) - on_action_public_p2p(precv_frame); -} - static void on_action_public_default(struct recv_frame *precv_frame) { u8 *pframe = precv_frame->rx_data; @@ -3758,12 +3749,16 @@ static void on_action_public_default(struct recv_frame *precv_frame) static void on_action_public(struct adapter *padapter, struct recv_frame *precv_frame) { struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)precv_frame->rx_data; + u8 *pframe = precv_frame->rx_data; + u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr); /* All members of the action enum start with action_code. */ - if (mgmt->u.action.u.s1g.action_code == WLAN_PUB_ACTION_VENDOR_SPECIFIC) - on_action_public_vendor(precv_frame); - else + if (mgmt->u.action.u.s1g.action_code == WLAN_PUB_ACTION_VENDOR_SPECIFIC) { + if (!memcmp(frame_body + 2, P2P_OUI, 4)) + on_action_public_p2p(precv_frame); + } else { on_action_public_default(precv_frame); + } } static void OnAction_p2p(struct adapter *padapter, struct recv_frame *precv_frame) From 0c9adc24eaebf075ef8eb8ae2dcf9f7208930466 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 18:53:24 +0100 Subject: [PATCH 039/219] staging: r8188eu: merge on_action_public_default into its only caller Merge on_action_public_default into on_action_public, which is the only caller. Yet again, this makes the code a tiny bit smaller. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230175326.90617-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c index cfa65813d3f2..0b2f5d6c1279 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -3735,29 +3735,20 @@ static unsigned int on_action_public_p2p(struct recv_frame *precv_frame) return _SUCCESS; } -static void on_action_public_default(struct recv_frame *precv_frame) -{ - u8 *pframe = precv_frame->rx_data; - u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr); - u8 token; - - token = frame_body[2]; - - rtw_action_public_decache(precv_frame, token); -} - static void on_action_public(struct adapter *padapter, struct recv_frame *precv_frame) { struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)precv_frame->rx_data; u8 *pframe = precv_frame->rx_data; u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr); + u8 token; /* All members of the action enum start with action_code. */ if (mgmt->u.action.u.s1g.action_code == WLAN_PUB_ACTION_VENDOR_SPECIFIC) { if (!memcmp(frame_body + 2, P2P_OUI, 4)) on_action_public_p2p(precv_frame); } else { - on_action_public_default(precv_frame); + token = frame_body[2]; + rtw_action_public_decache(precv_frame, token); } } From 0a663eafa18fd5a7d6e3d728587f31234eec2649 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 18:53:25 +0100 Subject: [PATCH 040/219] staging: r8188eu: remove intermediate pframe pointer The pframe pointer in on_action_public is used only in the definition of frame_body, which points to the payload of an incoming action frame. We can use mgmt to locate the action payload and remove the pframe pointer. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230175326.90617-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c index 0b2f5d6c1279..310e60c4b639 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -3738,8 +3738,7 @@ static unsigned int on_action_public_p2p(struct recv_frame *precv_frame) static void on_action_public(struct adapter *padapter, struct recv_frame *precv_frame) { struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)precv_frame->rx_data; - u8 *pframe = precv_frame->rx_data; - u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr); + u8 *frame_body = (u8 *)&mgmt->u; u8 token; /* All members of the action enum start with action_code. */ From 6803d6cdf2d43948ff08a0d51fcd866bae2f0912 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 18:53:26 +0100 Subject: [PATCH 041/219] staging: r8188eu: remove intermediate token variable Remove the token variable in on_action_public and use frame_body[2] as function parameter. This saves another few lines of code. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230175326.90617-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c index 310e60c4b639..dc181e491b34 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -3739,15 +3739,13 @@ static void on_action_public(struct adapter *padapter, struct recv_frame *precv_ { struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)precv_frame->rx_data; u8 *frame_body = (u8 *)&mgmt->u; - u8 token; /* All members of the action enum start with action_code. */ if (mgmt->u.action.u.s1g.action_code == WLAN_PUB_ACTION_VENDOR_SPECIFIC) { if (!memcmp(frame_body + 2, P2P_OUI, 4)) on_action_public_p2p(precv_frame); } else { - token = frame_body[2]; - rtw_action_public_decache(precv_frame, token); + rtw_action_public_decache(precv_frame, frame_body[2]); } } From 75f697b36116606d134f90cc601aa1220b2a93e4 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:27 +0100 Subject: [PATCH 042/219] staging: r8188eu: make xmitframe_swencrypt a void function xmitframe_swencrypt always returns _SUCCESS and the caller does not check the return value. We can remove the return value and make xmitframe_swencrypt a void function. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 36ce1e3f9c81..55c65875b923 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -761,7 +761,7 @@ static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitfr return _SUCCESS; } -static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmitframe) +static void xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmitframe) { struct pkt_attrib *pattrib = &pxmitframe->attrib; @@ -781,8 +781,6 @@ static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmi break; } } - - return _SUCCESS; } s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib) From 55074f02b4ef4db8d0467afc9eb78a53ef838a36 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:28 +0100 Subject: [PATCH 043/219] staging: r8188eu: remove some unused CAM defines Remove some CAM-related defines which are not used in the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- .../staging/r8188eu/include/rtl8188e_spec.h | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtl8188e_spec.h b/drivers/staging/r8188eu/include/rtl8188e_spec.h index 3fa3b3e5dd64..25b31417cd58 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_spec.h +++ b/drivers/staging/r8188eu/include/rtl8188e_spec.h @@ -510,28 +510,7 @@ Default: 00b. /* 8192C BW_OPMODE bits (Offset 0x203, 8bit) */ #define BW_OPMODE_20MHZ BIT(2) -/* 8192C CAM Config Setting (offset 0x250, 1 byte) */ -#define CAM_VALID BIT(15) -#define CAM_NOTVALID 0x0000 -#define CAM_USEDK BIT(5) - -#define CAM_CONTENT_COUNT 8 - -#define CAM_NONE 0x0 -#define CAM_WEP40 0x01 -#define CAM_TKIP 0x02 -#define CAM_AES 0x04 -#define CAM_WEP104 0x05 -#define CAM_SMS4 0x6 - -#define TOTAL_CAM_ENTRY 32 -#define HALF_CAM_ENTRY 16 - -#define CAM_CONFIG_USEDK true -#define CAM_CONFIG_NO_USEDK false - #define CAM_WRITE BIT(16) -#define CAM_READ 0x00000000 #define CAM_POLLINIG BIT(31) #define SCR_UseDK 0x01 From 00df407396ddf0d027bb3380fe07ed67e3624b81 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:29 +0100 Subject: [PATCH 044/219] staging: r8188eu: cmd_seq is write-only The cmd_seq component of struct cmd_priv is set and incremented but never read. It can be removed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_cmd.c | 4 ---- drivers/staging/r8188eu/include/rtw_cmd.h | 1 - 2 files changed, 5 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188eu/core/rtw_cmd.c index 19b2f73d481d..eb79435da355 100644 --- a/drivers/staging/r8188eu/core/rtw_cmd.c +++ b/drivers/staging/r8188eu/core/rtw_cmd.c @@ -65,8 +65,6 @@ int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv) /* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */ - pcmdpriv->cmd_seq = 1; - pcmdpriv->cmd_allocated_buf = kzalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ, GFP_KERNEL); @@ -233,8 +231,6 @@ int rtw_cmd_thread(void *context) ret = cmd_hdl(pcmd->padapter, pcmdbuf); pcmd->res = ret; } - - pcmdpriv->cmd_seq++; } else { pcmd->res = H2C_PARAMETERS_ERROR; } diff --git a/drivers/staging/r8188eu/include/rtw_cmd.h b/drivers/staging/r8188eu/include/rtw_cmd.h index c330a4435b31..9df7d4bf441d 100644 --- a/drivers/staging/r8188eu/include/rtw_cmd.h +++ b/drivers/staging/r8188eu/include/rtw_cmd.h @@ -32,7 +32,6 @@ struct cmd_priv { struct completion start_cmd_thread; struct completion stop_cmd_thread; struct __queue cmd_queue; - u8 cmd_seq; u8 *cmd_buf; /* shall be non-paged, and 4 bytes aligned */ u8 *cmd_allocated_buf; u8 *rsp_buf; /* shall be non-paged, and 4 bytes aligned */ From c22afb2e5d4f79783e6463af86fccc4aa2cce071 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:30 +0100 Subject: [PATCH 045/219] staging: r8188eu: return immediately if we're not meant to encrypt In function xmitframe_swencrypt, we can return immediately if our packet needs no encryption. This is simpler than wrapping all the code into a large if statement. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 31 +++++++++++++------------ 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 55c65875b923..55842028ad22 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -765,21 +765,22 @@ static void xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxm { struct pkt_attrib *pattrib = &pxmitframe->attrib; - if (pattrib->bswenc) { - switch (pattrib->encrypt) { - case _WEP40_: - case _WEP104_: - rtw_wep_encrypt(padapter, pxmitframe); - break; - case _TKIP_: - rtw_tkip_encrypt(padapter, pxmitframe); - break; - case _AES_: - rtw_aes_encrypt(padapter, pxmitframe); - break; - default: - break; - } + if (!pattrib->bswenc) + return; + + switch (pattrib->encrypt) { + case _WEP40_: + case _WEP104_: + rtw_wep_encrypt(padapter, pxmitframe); + break; + case _TKIP_: + rtw_tkip_encrypt(padapter, pxmitframe); + break; + case _AES_: + rtw_aes_encrypt(padapter, pxmitframe); + break; + default: + break; } } From 4126f99b9ee1ff31a7f31e96244aa1d60c46d243 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:31 +0100 Subject: [PATCH 046/219] staging: r8188eu: remove unused parameter All callers of rtl8188eu_xmitframe_complete set the pxmitbuf parameter to NULL, in which case rtl8188eu_xmitframe_complete allocates another xmit_buf internally. Remove the pxmitbuf parameter and resulting dead code. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-6-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 12 +++++------- drivers/staging/r8188eu/hal/usb_ops_linux.c | 2 +- drivers/staging/r8188eu/include/rtl8188e_xmit.h | 3 +-- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c index 6d1f56d1f9d7..cca74cf28915 100644 --- a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c +++ b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c @@ -375,11 +375,12 @@ static u32 xmitframe_need_length(struct xmit_frame *pxmitframe) return len; } -bool rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) +bool rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv *pxmitpriv) { struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(adapt); struct xmit_frame *pxmitframe = NULL; struct xmit_frame *pfirstframe = NULL; + struct xmit_buf *pxmitbuf; /* aggregate variable */ struct hw_xmit *phwxmit; @@ -403,12 +404,9 @@ bool rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv *pxmit else bulksize = USB_FULL_SPEED_BULK_SIZE; - /* check xmitbuffer is ok */ - if (!pxmitbuf) { - pxmitbuf = rtw_alloc_xmitbuf(pxmitpriv); - if (!pxmitbuf) - return false; - } + pxmitbuf = rtw_alloc_xmitbuf(pxmitpriv); + if (!pxmitbuf) + return false; /* 3 1. pick up first frame */ rtw_free_xmitframe(pxmitpriv, pxmitframe); diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c index 7c72f5e04d9b..c51f860d3527 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -494,7 +494,7 @@ void rtl8188eu_xmit_tasklet(unsigned long priv) (adapt->bWritePortCancel)) break; - ret = rtl8188eu_xmitframe_complete(adapt, pxmitpriv, NULL); + ret = rtl8188eu_xmitframe_complete(adapt, pxmitpriv); if (!ret) break; diff --git a/drivers/staging/r8188eu/include/rtl8188e_xmit.h b/drivers/staging/r8188eu/include/rtl8188e_xmit.h index 6db7fabebea9..865468d6b922 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_xmit.h +++ b/drivers/staging/r8188eu/include/rtl8188e_xmit.h @@ -138,7 +138,6 @@ s32 rtl8188eu_xmit_buf_handler(struct adapter *padapter); #define hal_xmit_handler rtl8188eu_xmit_buf_handler void rtl8188eu_xmit_tasklet(unsigned long priv); bool rtl8188eu_xmitframe_complete(struct adapter *padapter, - struct xmit_priv *pxmitpriv, - struct xmit_buf *pxmitbuf); + struct xmit_priv *pxmitpriv); #endif /* __RTL8188E_XMIT_H__ */ From 9431a9370f722b5c4597bca591ba39c86d670e75 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:32 +0100 Subject: [PATCH 047/219] staging: r8188eu: simplify rtl8188eu_xmit_tasklet Simplify the rtl8188eu_xmit_tasklet function. Remove an unnecessary temporary variable and reformat the code. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-7-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/usb_ops_linux.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c index c51f860d3527..a238d29a3a46 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -481,22 +481,14 @@ u32 rtw_read_port(struct adapter *adapter, u8 *rmem) void rtl8188eu_xmit_tasklet(unsigned long priv) { - int ret = false; struct adapter *adapt = (struct adapter *)priv; struct xmit_priv *pxmitpriv = &adapt->xmitpriv; if (check_fwstate(&adapt->mlmepriv, _FW_UNDER_SURVEY)) return; - while (1) { - if ((adapt->bDriverStopped) || - (adapt->bSurpriseRemoved) || - (adapt->bWritePortCancel)) + do { + if (adapt->bDriverStopped || adapt->bSurpriseRemoved || adapt->bWritePortCancel) break; - - ret = rtl8188eu_xmitframe_complete(adapt, pxmitpriv); - - if (!ret) - break; - } + } while (rtl8188eu_xmitframe_complete(adapt, pxmitpriv)); } From a8dce6b4adc9fe457219415a2fa0eda90134ab23 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:33 +0100 Subject: [PATCH 048/219] staging: r8188eu: remove rtl8188eu_init_xmit_priv rtl8188eu_init_xmit_priv's only jobs is to initialise the xmit tasklet. Remove rtl8188eu_init_xmit_priv and initialise the xmit tasklet in _rtw_init_xmit_priv. Yet again, this makes the code a tiny bit smaller. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-8-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 2 +- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 10 ---------- drivers/staging/r8188eu/include/rtl8188e_xmit.h | 1 - 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 55842028ad22..461183e035ea 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -211,7 +211,7 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) mutex_init(&pxmitpriv->ack_tx_mutex); rtw_sctx_init(&pxmitpriv->ack_tx_ops, 0); - rtl8188eu_init_xmit_priv(padapter); + tasklet_init(&pxmitpriv->xmit_tasklet, rtl8188eu_xmit_tasklet, (unsigned long)padapter); return 0; diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c index cca74cf28915..cf9779b86b9c 100644 --- a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c +++ b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c @@ -9,16 +9,6 @@ #include "../include/usb_ops.h" #include "../include/rtl8188e_hal.h" -s32 rtl8188eu_init_xmit_priv(struct adapter *adapt) -{ - struct xmit_priv *pxmitpriv = &adapt->xmitpriv; - - tasklet_init(&pxmitpriv->xmit_tasklet, - rtl8188eu_xmit_tasklet, - (unsigned long)adapt); - return _SUCCESS; -} - static void rtl8188eu_cal_txdesc_chksum(struct tx_desc *ptxdesc) { u16 *usptr = (u16 *)ptxdesc; diff --git a/drivers/staging/r8188eu/include/rtl8188e_xmit.h b/drivers/staging/r8188eu/include/rtl8188e_xmit.h index 865468d6b922..82439f52b0c8 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_xmit.h +++ b/drivers/staging/r8188eu/include/rtl8188e_xmit.h @@ -131,7 +131,6 @@ struct txrpt_ccx_88e { void rtl8188e_fill_fake_txdesc(struct adapter *padapter, u8 *pDesc, u32 BufferLen, u8 IsPsPoll, u8 IsBTQosNull); -s32 rtl8188eu_init_xmit_priv(struct adapter *padapter); s32 rtl8188eu_hal_xmit(struct adapter *padapter, struct xmit_frame *frame); s32 rtl8188eu_mgnt_xmit(struct adapter *padapter, struct xmit_frame *frame); s32 rtl8188eu_xmit_buf_handler(struct adapter *padapter); From 6dd8420d4be40057b4ad015709a05b01f4fb2335 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:34 +0100 Subject: [PATCH 049/219] staging: r8188eu: remove duplicate psta check We do not need the psta check in the while loop of rtw_xmitframe_coalesce. psta is already checked near the start of the function and is not modified afterwards. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-9-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 36 ++++++++++++------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 461183e035ea..bc5ceb2e56c4 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1009,25 +1009,23 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct /* adding icv, if necessary... */ if (pattrib->iv_len) { - if (psta) { - switch (pattrib->encrypt) { - case _WEP40_: - case _WEP104_: - WEP_IV(pattrib->iv, psta->dot11txpn, pattrib->key_idx); - break; - case _TKIP_: - if (bmcst) - TKIP_IV(pattrib->iv, psta->dot11txpn, pattrib->key_idx); - else - TKIP_IV(pattrib->iv, psta->dot11txpn, 0); - break; - case _AES_: - if (bmcst) - AES_IV(pattrib->iv, psta->dot11txpn, pattrib->key_idx); - else - AES_IV(pattrib->iv, psta->dot11txpn, 0); - break; - } + switch (pattrib->encrypt) { + case _WEP40_: + case _WEP104_: + WEP_IV(pattrib->iv, psta->dot11txpn, pattrib->key_idx); + break; + case _TKIP_: + if (bmcst) + TKIP_IV(pattrib->iv, psta->dot11txpn, pattrib->key_idx); + else + TKIP_IV(pattrib->iv, psta->dot11txpn, 0); + break; + case _AES_: + if (bmcst) + AES_IV(pattrib->iv, psta->dot11txpn, pattrib->key_idx); + else + AES_IV(pattrib->iv, psta->dot11txpn, 0); + break; } memcpy(pframe, pattrib->iv, pattrib->iv_len); From e263d79eb1a49ac217793cd77817e61ad7843fd8 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:35 +0100 Subject: [PATCH 050/219] staging: r8188eu: simplify frame type check Reorder the code in rtw_make_wlanhdr to make the function simpler. There's a large if statement to check that we process only data frames. Revert the condition and exit for non-data frames. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-10-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 153 ++++++++++++------------ 1 file changed, 77 insertions(+), 76 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index bc5ceb2e56c4..becd1db0c628 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -809,90 +809,91 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr SetFrameSubType(fctrl, pattrib->subtype); - if (pattrib->subtype & IEEE80211_FTYPE_DATA) { - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { - /* to_ds = 1, fr_ds = 0; */ - /* Data transfer to AP */ - SetToDs(fctrl); - memcpy(pwlanhdr->addr1, get_bssid(pmlmepriv), ETH_ALEN); - memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); - memcpy(pwlanhdr->addr3, pattrib->dst, ETH_ALEN); + if (!(pattrib->subtype & IEEE80211_FTYPE_DATA)) + return _SUCCESS; - if (pqospriv->qos_option) - qos_option = true; - } else if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) { - /* to_ds = 0, fr_ds = 1; */ - SetFrDs(fctrl); - memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); - memcpy(pwlanhdr->addr2, get_bssid(pmlmepriv), ETH_ALEN); - memcpy(pwlanhdr->addr3, pattrib->src, ETH_ALEN); + if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + /* to_ds = 1, fr_ds = 0; */ + /* Data transfer to AP */ + SetToDs(fctrl); + memcpy(pwlanhdr->addr1, get_bssid(pmlmepriv), ETH_ALEN); + memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); + memcpy(pwlanhdr->addr3, pattrib->dst, ETH_ALEN); - if (psta->qos_option) - qos_option = true; - } else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) || - check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) { - memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); - memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); - memcpy(pwlanhdr->addr3, get_bssid(pmlmepriv), ETH_ALEN); + if (pqospriv->qos_option) + qos_option = true; + } else if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) { + /* to_ds = 0, fr_ds = 1; */ + SetFrDs(fctrl); + memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); + memcpy(pwlanhdr->addr2, get_bssid(pmlmepriv), ETH_ALEN); + memcpy(pwlanhdr->addr3, pattrib->src, ETH_ALEN); - if (psta->qos_option) - qos_option = true; - } else { - res = _FAIL; - goto exit; + if (psta->qos_option) + qos_option = true; + } else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) || + check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) { + memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); + memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); + memcpy(pwlanhdr->addr3, get_bssid(pmlmepriv), ETH_ALEN); + + if (psta->qos_option) + qos_option = true; + } else { + res = _FAIL; + goto exit; + } + + if (pattrib->mdata) + SetMData(fctrl); + + if (pattrib->encrypt) + SetPrivacy(fctrl); + + if (qos_option) { + qc = (unsigned short *)(hdr + pattrib->hdrlen - 2); + + if (pattrib->priority) + SetPriority(qc, pattrib->priority); + + SetEOSP(qc, pattrib->eosp); + + SetAckpolicy(qc, pattrib->ack_policy); + } + + /* TODO: fill HT Control Field */ + + /* Update Seq Num will be handled by f/w */ + if (psta) { + psta->sta_xmitpriv.txseq_tid[pattrib->priority]++; + psta->sta_xmitpriv.txseq_tid[pattrib->priority] &= 0xFFF; + + pattrib->seqnum = psta->sta_xmitpriv.txseq_tid[pattrib->priority]; + + SetSeqNum(hdr, pattrib->seqnum); + + /* check if enable ampdu */ + if (pattrib->ht_en && psta->htpriv.ampdu_enable) { + if (psta->htpriv.agg_enable_bitmap & BIT(pattrib->priority)) + pattrib->ampdu_en = true; } - if (pattrib->mdata) - SetMData(fctrl); + /* re-check if enable ampdu by BA_starting_seqctrl */ + if (pattrib->ampdu_en) { + u16 tx_seq; - if (pattrib->encrypt) - SetPrivacy(fctrl); + tx_seq = psta->BA_starting_seqctrl[pattrib->priority & 0x0f]; - if (qos_option) { - qc = (unsigned short *)(hdr + pattrib->hdrlen - 2); + /* check BA_starting_seqctrl */ + if (SN_LESS(pattrib->seqnum, tx_seq)) { + pattrib->ampdu_en = false;/* AGG BK */ + } else if (SN_EQUAL(pattrib->seqnum, tx_seq)) { + psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (tx_seq + 1) & 0xfff; - if (pattrib->priority) - SetPriority(qc, pattrib->priority); - - SetEOSP(qc, pattrib->eosp); - - SetAckpolicy(qc, pattrib->ack_policy); - } - - /* TODO: fill HT Control Field */ - - /* Update Seq Num will be handled by f/w */ - if (psta) { - psta->sta_xmitpriv.txseq_tid[pattrib->priority]++; - psta->sta_xmitpriv.txseq_tid[pattrib->priority] &= 0xFFF; - - pattrib->seqnum = psta->sta_xmitpriv.txseq_tid[pattrib->priority]; - - SetSeqNum(hdr, pattrib->seqnum); - - /* check if enable ampdu */ - if (pattrib->ht_en && psta->htpriv.ampdu_enable) { - if (psta->htpriv.agg_enable_bitmap & BIT(pattrib->priority)) - pattrib->ampdu_en = true; - } - - /* re-check if enable ampdu by BA_starting_seqctrl */ - if (pattrib->ampdu_en) { - u16 tx_seq; - - tx_seq = psta->BA_starting_seqctrl[pattrib->priority & 0x0f]; - - /* check BA_starting_seqctrl */ - if (SN_LESS(pattrib->seqnum, tx_seq)) { - pattrib->ampdu_en = false;/* AGG BK */ - } else if (SN_EQUAL(pattrib->seqnum, tx_seq)) { - psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (tx_seq + 1) & 0xfff; - - pattrib->ampdu_en = true;/* AGG EN */ - } else { - psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (pattrib->seqnum + 1) & 0xfff; - pattrib->ampdu_en = true;/* AGG EN */ - } + pattrib->ampdu_en = true;/* AGG EN */ + } else { + psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (pattrib->seqnum + 1) & 0xfff; + pattrib->ampdu_en = true;/* AGG EN */ } } } From a6b25e291f22c8290203b3426b66c49099688b75 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:36 +0100 Subject: [PATCH 051/219] staging: r8188eu: simplify rtw_make_wlanhdr's error handling Simplify the error handling in rtw_make_wlanhdr. Exit immediately instead of jumping to the end of the function. We don't have to do any clean-up. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-11-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index becd1db0c628..bb45d59497fa 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -792,8 +792,6 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct qos_priv *pqospriv = &pmlmepriv->qospriv; u8 qos_option = false; - - int res = _SUCCESS; __le16 *fctrl = &pwlanhdr->frame_control; struct sta_info *psta; @@ -840,8 +838,7 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr if (psta->qos_option) qos_option = true; } else { - res = _FAIL; - goto exit; + return _FAIL; } if (pattrib->mdata) @@ -897,9 +894,8 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr } } } -exit: - return res; + return _SUCCESS; } s32 rtw_txframes_pending(struct adapter *padapter) From 3d1edfe65d3565aede6724b088cfe34f02f4002a Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:37 +0100 Subject: [PATCH 052/219] staging: r8188eu: clean up qos_option setting The qos_option variable in function rtw_make_wlanhdr should be a boolean as it's set to true or false. We can directly set it to pqospriv->qos_option instead of using a default value and if statements. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-12-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index bb45d59497fa..66715611a3e3 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -791,7 +791,7 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr struct ieee80211_hdr *pwlanhdr = (struct ieee80211_hdr *)hdr; struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct qos_priv *pqospriv = &pmlmepriv->qospriv; - u8 qos_option = false; + bool qos_option; __le16 *fctrl = &pwlanhdr->frame_control; struct sta_info *psta; @@ -817,26 +817,20 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr memcpy(pwlanhdr->addr1, get_bssid(pmlmepriv), ETH_ALEN); memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); memcpy(pwlanhdr->addr3, pattrib->dst, ETH_ALEN); - - if (pqospriv->qos_option) - qos_option = true; + qos_option = pqospriv->qos_option; } else if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) { /* to_ds = 0, fr_ds = 1; */ SetFrDs(fctrl); memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); memcpy(pwlanhdr->addr2, get_bssid(pmlmepriv), ETH_ALEN); memcpy(pwlanhdr->addr3, pattrib->src, ETH_ALEN); - - if (psta->qos_option) - qos_option = true; + qos_option = psta->qos_option; } else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) || check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) { memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); memcpy(pwlanhdr->addr3, get_bssid(pmlmepriv), ETH_ALEN); - - if (psta->qos_option) - qos_option = true; + qos_option = psta->qos_option; } else { return _FAIL; } From 3de5122ccfe1e77ded4c37f171f20ad0ba63a0bb Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:38 +0100 Subject: [PATCH 053/219] staging: r8188eu: remove unused bpending array The bpending array in struct xmit_buf is unused. Remove it. (struct xmit_buf is not part of the interface between the kernel driver and the device's firmware. It's safe to remove components from this struct.) Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-13-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 6e7ebea5362d..b017f9293f86 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -203,7 +203,6 @@ struct xmit_buf { u32 ff_hwaddr; struct urb *pxmit_urb; dma_addr_t dma_transfer_addr; /* (in) dma addr for transfer_buffer */ - u8 bpending[8]; int last[8]; }; From 61d6aec28c1c54ea973e35d88eac2fa7f872d2f8 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:39 +0100 Subject: [PATCH 054/219] staging: r8188eu: remove unused dma_transfer_addr The dma_transfer_addr component in struct xmit_buf is initialised but not used. Remove it. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-14-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 1 - drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 66715611a3e3..3e86db6db824 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -41,7 +41,6 @@ static int rtw_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *px return -ENOMEM; pxmitbuf->pbuf = (u8 *)ALIGN((size_t)(pxmitbuf->pallocated_buf), XMITBUF_ALIGN_SZ); - pxmitbuf->dma_transfer_addr = 0; pxmitbuf->pxmit_urb = usb_alloc_urb(0, GFP_KERNEL); if (!pxmitbuf->pxmit_urb) { diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index b017f9293f86..1c4fbdf97a12 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -202,7 +202,6 @@ struct xmit_buf { struct submit_ctx *sctx; u32 ff_hwaddr; struct urb *pxmit_urb; - dma_addr_t dma_transfer_addr; /* (in) dma addr for transfer_buffer */ int last[8]; }; From fcef1518e673460142a9950715c1a1a080f6ad59 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:40 +0100 Subject: [PATCH 055/219] staging: r8188eu: bm_pending is not used The bm_pending queue in struct xmit_priv is initialised but not used. It can be removed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-15-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 1 - drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 3e86db6db824..a4e726fff5d4 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -81,7 +81,6 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) rtw_init_queue(&pxmitpriv->bk_pending); rtw_init_queue(&pxmitpriv->vi_pending); rtw_init_queue(&pxmitpriv->vo_pending); - rtw_init_queue(&pxmitpriv->bm_pending); rtw_init_queue(&pxmitpriv->free_xmit_queue); diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 1c4fbdf97a12..83638dede6e7 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -262,7 +262,6 @@ struct xmit_priv { struct __queue bk_pending; struct __queue vi_pending; struct __queue vo_pending; - struct __queue bm_pending; u8 *pallocated_frame_buf; u8 *pxmit_frame_buf; uint free_xmitframe_cnt; From 38a9b8372e835f5bbe3b0c2253baee4b8a75e313 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:41 +0100 Subject: [PATCH 056/219] staging: r8188eu: terminate_xmitthread_sema is not used Remove terminate_xmitthread_sema from struct xmit_priv. This semaphore is initialised but not used. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-16-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 1 - drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index a4e726fff5d4..3a3b86f4105a 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -69,7 +69,6 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) /* We don't need to memset padapter->XXX to zero, because adapter is allocated by vzalloc(). */ spin_lock_init(&pxmitpriv->lock); - sema_init(&pxmitpriv->terminate_xmitthread_sema, 0); /* * Please insert all the queue initializaiton using rtw_init_queue below diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 83638dede6e7..ef1b7123e557 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -257,7 +257,6 @@ struct agg_pkt_info { struct xmit_priv { spinlock_t lock; - struct semaphore terminate_xmitthread_sema; struct __queue be_pending; struct __queue bk_pending; struct __queue vi_pending; From 26cf6c2c22f0cc10eec468a1ef4f13644fdd480e Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:42 +0100 Subject: [PATCH 057/219] staging: r8188eu: tx_retevt semaphore is not used Remove tx_retevt from struct xmit_priv. This semaphore is initialised but not used. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-17-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 2 -- drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 2 files changed, 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 3a3b86f4105a..5e2979c01ff5 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -196,8 +196,6 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) pxmitpriv->txirp_cnt = 1; - sema_init(&pxmitpriv->tx_retevt, 0); - /* per AC pending irp */ pxmitpriv->beq_cnt = 0; pxmitpriv->bkq_cnt = 0; diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index ef1b7123e557..719424dd8a49 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -280,7 +280,6 @@ struct xmit_priv { u8 wmm_para_seq[4];/* sequence for wmm ac parameter strength * from large to small. it's value is 0->vo, * 1->vi, 2->be, 3->bk. */ - struct semaphore tx_retevt;/* all tx return event; */ u8 txirp_cnt;/* */ struct tasklet_struct xmit_tasklet; /* per AC pending irp */ From 51cbbb0efe30d0313df66d98b264474a56caea66 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:43 +0100 Subject: [PATCH 058/219] staging: r8188eu: remove unnecessary rtw_free_xmitframe call There's no need to call rtw_free_xmitframe before we dequeue the first frame. pxmitframe is always NULL at this point, rtw_free_xmitframe will do nothing in this case. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-18-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c index cf9779b86b9c..d1af76cc2091 100644 --- a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c +++ b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c @@ -398,9 +398,6 @@ bool rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv *pxmit if (!pxmitbuf) return false; - /* 3 1. pick up first frame */ - rtw_free_xmitframe(pxmitpriv, pxmitframe); - pxmitframe = rtw_dequeue_xframe(pxmitpriv, pxmitpriv->hwxmits, pxmitpriv->hwxmit_entry); if (!pxmitframe) { /* no more xmit frame, release xmit buffer */ From 1b757dfdab91ea15d26ab89f01be4eb9ab9067a7 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:44 +0100 Subject: [PATCH 059/219] staging: r8188eu: phwxmit parameter is unused Remove the unused function parameter phwxmit from function dequeue_one_xmitframe. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-19-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 5e2979c01ff5..7134ca2b0b59 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1399,7 +1399,7 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram return _SUCCESS; } -static struct xmit_frame *dequeue_one_xmitframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit, struct tx_servq *ptxservq, struct __queue *pframe_queue) +static struct xmit_frame *dequeue_one_xmitframe(struct xmit_priv *pxmitpriv, struct tx_servq *ptxservq, struct __queue *pframe_queue) { struct list_head *xmitframe_plist, *xmitframe_phead; struct xmit_frame *pxmitframe = NULL; @@ -1452,7 +1452,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi pframe_queue = &ptxservq->sta_pending; - pxmitframe = dequeue_one_xmitframe(pxmitpriv, phwxmit, ptxservq, pframe_queue); + pxmitframe = dequeue_one_xmitframe(pxmitpriv, ptxservq, pframe_queue); if (pxmitframe) { phwxmit->accnt--; From 5877852e9f959483202cb2a7d55e7f5f13b76208 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Fri, 30 Dec 2022 19:06:45 +0100 Subject: [PATCH 060/219] staging: r8188eu: rtw_init_hwxmits is not needed The _rtw_init_xmit_priv function calls rtw_alloc_hwxmits to allocate memory for pxmitpriv->hwxmits (this is an array of struct hw_xmit). This allocation uses kzalloc, the allocated memory is initialised with 0. After the allocation, _rtw_init_xmit_priv calls rtw_init_hwxmits to set an element of each hw_xmit to 0. This is not necessary, we can remove the rtw_init_hwxmits call and the now unused function rtw_init_hwxmits. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20221230180646.91008-20-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 10 ---------- drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 2 files changed, 11 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 7134ca2b0b59..1b1a318b541f 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -189,8 +189,6 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) if (rtw_alloc_hwxmits(padapter)) goto free_xmit_extbuf; - rtw_init_hwxmits(pxmitpriv->hwxmits, pxmitpriv->hwxmit_entry); - for (i = 0; i < 4; i++) pxmitpriv->wmm_para_seq[i] = i; @@ -1570,14 +1568,6 @@ void rtw_free_hwxmits(struct adapter *padapter) kfree(hwxmits); } -void rtw_init_hwxmits(struct hw_xmit *phwxmit, int entry) -{ - int i; - - for (i = 0; i < entry; i++, phwxmit++) - phwxmit->accnt = 0; -} - static int rtw_br_client_tx(struct adapter *padapter, struct sk_buff **pskb) { struct sk_buff *skb = *pskb; diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 719424dd8a49..eafa693efc2f 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -345,7 +345,6 @@ void _rtw_init_sta_xmit_priv(struct sta_xmit_priv *psta_xmitpriv); s32 rtw_txframes_pending(struct adapter *padapter); s32 rtw_txframes_sta_ac_pending(struct adapter *padapter, struct pkt_attrib *pattrib); -void rtw_init_hwxmits(struct hw_xmit *phwxmit, int entry); int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter); void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv); int rtw_alloc_hwxmits(struct adapter *padapter); From 1d0d77f4ec011d0a05d5a2a1189f3d4d89e2b402 Mon Sep 17 00:00:00 2001 From: Michael Straube Date: Sun, 8 Jan 2023 13:38:04 +0100 Subject: [PATCH 061/219] staging: r8188eu: convert rtw_writeN() to common error logic Convert the function rtw_writeN() away from returning _FAIL or _SUCCESS which uses inverted error logic. Use the common error logic instead. Return 0 for success and negative values for failure. Signed-off-by: Michael Straube Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230108123804.3754-1-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_fw.c | 10 ++++------ drivers/staging/r8188eu/hal/usb_ops_linux.c | 7 ++----- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_fw.c b/drivers/staging/r8188eu/core/rtw_fw.c index 682c65b1e04c..1e4baf74ecd5 100644 --- a/drivers/staging/r8188eu/core/rtw_fw.c +++ b/drivers/staging/r8188eu/core/rtw_fw.c @@ -89,9 +89,8 @@ static int block_write(struct adapter *padapter, u8 *buffer, u32 size) addr = FW_8188E_START_ADDRESS + i * block_size; data = buffer + i * block_size; - ret = rtw_writeN(padapter, addr, block_size, data); - if (ret == _FAIL) - goto exit; + if (rtw_writeN(padapter, addr, block_size, data)) + return _FAIL; } if (remain) { @@ -105,9 +104,8 @@ static int block_write(struct adapter *padapter, u8 *buffer, u32 size) addr = FW_8188E_START_ADDRESS + offset + i * block_size; data = buffer + offset + i * block_size; - ret = rtw_writeN(padapter, addr, block_size, data); - if (ret == _FAIL) - goto exit; + if (rtw_writeN(padapter, addr, block_size, data)) + return _FAIL; } } diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c index a238d29a3a46..ff784a80a68a 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -179,14 +179,11 @@ int rtw_writeN(struct adapter *adapter, u32 addr, u32 length, u8 *data) struct io_priv *io_priv = &adapter->iopriv; struct intf_hdl *intf = &io_priv->intf; u16 value = addr & 0xffff; - int ret; if (length > VENDOR_CMD_MAX_DATA_LEN) - return _FAIL; + return -EINVAL; - ret = usb_write(intf, value, data, length); - - return RTW_STATUS_CODE(ret); + return usb_write(intf, value, data, length); } static void handle_txrpt_ccx_88e(struct adapter *adapter, u8 *buf) From 2b9c7fbc1c0ff3318734e973d1a47d93ac596637 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:41 +0100 Subject: [PATCH 062/219] staging: r8188eu: beq_cnt is write-only beq_cnt in struct xmit_priv is initialised, incremented and decremented but never read. Remove beq_cnt and resulting dead code. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 1 - drivers/staging/r8188eu/include/rtw_xmit.h | 1 - drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 4 ---- 3 files changed, 6 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 1b1a318b541f..47b339b9a732 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -195,7 +195,6 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) pxmitpriv->txirp_cnt = 1; /* per AC pending irp */ - pxmitpriv->beq_cnt = 0; pxmitpriv->bkq_cnt = 0; pxmitpriv->viq_cnt = 0; pxmitpriv->voq_cnt = 0; diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index eafa693efc2f..a4d645a45ff9 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -283,7 +283,6 @@ struct xmit_priv { u8 txirp_cnt;/* */ struct tasklet_struct xmit_tasklet; /* per AC pending irp */ - int beq_cnt; int bkq_cnt; int viq_cnt; int voq_cnt; diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 220e592b757c..067b7def2bde 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -48,9 +48,6 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs) case VI_QUEUE_INX: pxmitpriv->viq_cnt--; break; - case BE_QUEUE_INX: - pxmitpriv->beq_cnt--; - break; case BK_QUEUE_INX: pxmitpriv->bkq_cnt--; break; @@ -123,7 +120,6 @@ u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem) pxmitbuf->flags = VI_QUEUE_INX; break; case BE_QUEUE_INX: - pxmitpriv->beq_cnt++; pxmitbuf->flags = BE_QUEUE_INX; break; case BK_QUEUE_INX: From b79601a0aa541862f2015f2727e12ed9ac82bbcb Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:42 +0100 Subject: [PATCH 063/219] staging: r8188eu: bkq_cnt is write-only bkq_cnt in struct xmit_priv is initialised, incremented and decremented but never read. Remove bkq_cnt and resulting dead code. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 1 - drivers/staging/r8188eu/include/rtw_xmit.h | 1 - drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 4 ---- 3 files changed, 6 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 47b339b9a732..c06ab9b48db8 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -195,7 +195,6 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) pxmitpriv->txirp_cnt = 1; /* per AC pending irp */ - pxmitpriv->bkq_cnt = 0; pxmitpriv->viq_cnt = 0; pxmitpriv->voq_cnt = 0; diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index a4d645a45ff9..8defce24c18b 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -283,7 +283,6 @@ struct xmit_priv { u8 txirp_cnt;/* */ struct tasklet_struct xmit_tasklet; /* per AC pending irp */ - int bkq_cnt; int viq_cnt; int voq_cnt; struct __queue free_xmitbuf_queue; diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 067b7def2bde..5ae09edf9174 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -48,9 +48,6 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs) case VI_QUEUE_INX: pxmitpriv->viq_cnt--; break; - case BK_QUEUE_INX: - pxmitpriv->bkq_cnt--; - break; case HIGH_QUEUE_INX: rtw_chk_hi_queue_cmd(padapter); break; @@ -123,7 +120,6 @@ u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem) pxmitbuf->flags = BE_QUEUE_INX; break; case BK_QUEUE_INX: - pxmitpriv->bkq_cnt++; pxmitbuf->flags = BK_QUEUE_INX; break; case HIGH_QUEUE_INX: From 763f3eff5ed3764f79fbefa4626468f8f1d617a1 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:43 +0100 Subject: [PATCH 064/219] staging: r8188eu: viq_cnt is write-only viq_cnt in struct xmit_priv is initialised, incremented and decremented but never read. Remove viq_cnt and resulting dead code. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 1 - drivers/staging/r8188eu/include/rtw_xmit.h | 1 - drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 4 ---- 3 files changed, 6 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index c06ab9b48db8..031f094f60d0 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -195,7 +195,6 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) pxmitpriv->txirp_cnt = 1; /* per AC pending irp */ - pxmitpriv->viq_cnt = 0; pxmitpriv->voq_cnt = 0; pxmitpriv->ack_tx = false; diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 8defce24c18b..71382f97a06e 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -283,7 +283,6 @@ struct xmit_priv { u8 txirp_cnt;/* */ struct tasklet_struct xmit_tasklet; /* per AC pending irp */ - int viq_cnt; int voq_cnt; struct __queue free_xmitbuf_queue; struct __queue pending_xmitbuf_queue; diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 5ae09edf9174..7929b7d5e89e 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -45,9 +45,6 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs) case VO_QUEUE_INX: pxmitpriv->voq_cnt--; break; - case VI_QUEUE_INX: - pxmitpriv->viq_cnt--; - break; case HIGH_QUEUE_INX: rtw_chk_hi_queue_cmd(padapter); break; @@ -113,7 +110,6 @@ u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem) pxmitbuf->flags = VO_QUEUE_INX; break; case VI_QUEUE_INX: - pxmitpriv->viq_cnt++; pxmitbuf->flags = VI_QUEUE_INX; break; case BE_QUEUE_INX: From e7b970cc375baf524744da2f0f59c85d8a4e88a1 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:44 +0100 Subject: [PATCH 065/219] staging: r8188eu: voq_cnt is write-only voq_cnt in struct xmit_priv is initialised, incremented and decremented but never read. Remove voq_cnt and resulting dead code. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 3 --- drivers/staging/r8188eu/include/rtw_xmit.h | 2 -- drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 4 ---- 3 files changed, 9 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 031f094f60d0..d1931f2b8b55 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -194,9 +194,6 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) pxmitpriv->txirp_cnt = 1; - /* per AC pending irp */ - pxmitpriv->voq_cnt = 0; - pxmitpriv->ack_tx = false; mutex_init(&pxmitpriv->ack_tx_mutex); rtw_sctx_init(&pxmitpriv->ack_tx_ops, 0); diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 71382f97a06e..1588adadedd6 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -282,8 +282,6 @@ struct xmit_priv { * 1->vi, 2->be, 3->bk. */ u8 txirp_cnt;/* */ struct tasklet_struct xmit_tasklet; - /* per AC pending irp */ - int voq_cnt; struct __queue free_xmitbuf_queue; struct __queue pending_xmitbuf_queue; u8 *pallocated_xmitbuf; diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 7929b7d5e89e..6fe5a4230291 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -42,9 +42,6 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs) struct xmit_priv *pxmitpriv = &padapter->xmitpriv; switch (pxmitbuf->flags) { - case VO_QUEUE_INX: - pxmitpriv->voq_cnt--; - break; case HIGH_QUEUE_INX: rtw_chk_hi_queue_cmd(padapter); break; @@ -106,7 +103,6 @@ u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem) switch (addr) { case VO_QUEUE_INX: - pxmitpriv->voq_cnt++; pxmitbuf->flags = VO_QUEUE_INX; break; case VI_QUEUE_INX: From 1511463d33b5f3022c5875a25156d666bf8920fe Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:45 +0100 Subject: [PATCH 066/219] staging: r8188eu: replace switch with if The switch statement in usb_write_port_complete has only one single case. Replace it with an if statement. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-6-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 6fe5a4230291..257bcf496012 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -41,13 +41,8 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs) struct adapter *padapter = pxmitbuf->padapter; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - switch (pxmitbuf->flags) { - case HIGH_QUEUE_INX: + if (pxmitbuf->flags == HIGH_QUEUE_INX) rtw_chk_hi_queue_cmd(padapter); - break; - default: - break; - } if (padapter->bSurpriseRemoved || padapter->bDriverStopped || padapter->bWritePortCancel) From f2355ab5652198ab9c156bfebb6a95986bd099bf Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:46 +0100 Subject: [PATCH 067/219] staging: r8188eu: dir_dev is unused dir_dev in struct adapter is not used by the r8188eu driver. It can be removed. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-7-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/drv_types.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/r8188eu/include/drv_types.h b/drivers/staging/r8188eu/include/drv_types.h index 8fef5759c36a..4803d0c77d70 100644 --- a/drivers/staging/r8188eu/include/drv_types.h +++ b/drivers/staging/r8188eu/include/drv_types.h @@ -187,7 +187,6 @@ struct adapter { int bup; struct net_device_stats stats; struct iw_statistics iwstats; - struct proc_dir_entry *dir_dev;/* for proc directory */ int net_closed; u8 bFWReady; From 069e3f9441683996a802d49d6f29cf600c17116d Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:47 +0100 Subject: [PATCH 068/219] staging: r8188eu: remove unused hal_xmit_handler define hal_xmit_handler is not used by the r8188eu driver. Remove it. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-8-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtl8188e_xmit.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/r8188eu/include/rtl8188e_xmit.h b/drivers/staging/r8188eu/include/rtl8188e_xmit.h index 82439f52b0c8..230ea191d256 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_xmit.h +++ b/drivers/staging/r8188eu/include/rtl8188e_xmit.h @@ -134,7 +134,6 @@ void rtl8188e_fill_fake_txdesc(struct adapter *padapter, u8 *pDesc, s32 rtl8188eu_hal_xmit(struct adapter *padapter, struct xmit_frame *frame); s32 rtl8188eu_mgnt_xmit(struct adapter *padapter, struct xmit_frame *frame); s32 rtl8188eu_xmit_buf_handler(struct adapter *padapter); -#define hal_xmit_handler rtl8188eu_xmit_buf_handler void rtl8188eu_xmit_tasklet(unsigned long priv); bool rtl8188eu_xmitframe_complete(struct adapter *padapter, struct xmit_priv *pxmitpriv); From fe86c3a10ccb81824ccc39c4e3cc88cdebd65c88 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:48 +0100 Subject: [PATCH 069/219] staging: r8188eu: txirp_cnt is write-only txirp_cnt in struct xmit_priv is initialised but never read. Remove it. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-9-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 2 -- drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 2 files changed, 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index d1931f2b8b55..5fd3389604cc 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -192,8 +192,6 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) for (i = 0; i < 4; i++) pxmitpriv->wmm_para_seq[i] = i; - pxmitpriv->txirp_cnt = 1; - pxmitpriv->ack_tx = false; mutex_init(&pxmitpriv->ack_tx_mutex); rtw_sctx_init(&pxmitpriv->ack_tx_ops, 0); diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 1588adadedd6..9bc47f45b878 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -280,7 +280,6 @@ struct xmit_priv { u8 wmm_para_seq[4];/* sequence for wmm ac parameter strength * from large to small. it's value is 0->vo, * 1->vi, 2->be, 3->bk. */ - u8 txirp_cnt;/* */ struct tasklet_struct xmit_tasklet; struct __queue free_xmitbuf_queue; struct __queue pending_xmitbuf_queue; From 851ae3c20867924b8a3e733e19eda006104a41ce Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:49 +0100 Subject: [PATCH 070/219] staging: r8188eu: remove unused QSLT defines Remove unused defines for Queue Select Value in TxDesc. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-10-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtl8188e_xmit.h | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtl8188e_xmit.h b/drivers/staging/r8188eu/include/rtl8188e_xmit.h index 230ea191d256..e6d343ffc148 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_xmit.h +++ b/drivers/staging/r8188eu/include/rtl8188e_xmit.h @@ -5,17 +5,7 @@ #define __RTL8188E_XMIT_H__ #define MAX_TX_AGG_PACKET_NUMBER 0xFF -/* */ -/* Queue Select Value in TxDesc */ -/* */ -#define QSLT_BK 0x2/* 0x01 */ -#define QSLT_BE 0x0 -#define QSLT_VI 0x5/* 0x4 */ -#define QSLT_VO 0x7/* 0x6 */ -#define QSLT_BEACON 0x10 -#define QSLT_HIGH 0x11 #define QSLT_MGNT 0x12 -#define QSLT_CMD 0x13 /* For 88e early mode */ #define SET_EARLYMODE_PKTNUM(__paddr, __value) \ From 393669c761ebae0642917534fbc554a9891654fb Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:50 +0100 Subject: [PATCH 071/219] staging: r8188eu: xmit_priv's vcs_type is not used The vcs_type component of struct xmit_priv is not used. Remove it. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-11-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_xmit.h | 1 - drivers/staging/r8188eu/os_dep/os_intfs.c | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 9bc47f45b878..b372c0bc6420 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -269,7 +269,6 @@ struct xmit_priv { struct adapter *adapter; u8 vcs_setting; u8 vcs; - u8 vcs_type; u64 tx_bytes; u64 tx_pkts; u64 tx_drop; diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c index 2f59bb994796..ae03d39de092 100644 --- a/drivers/staging/r8188eu/os_dep/os_intfs.c +++ b/drivers/staging/r8188eu/os_dep/os_intfs.c @@ -394,7 +394,6 @@ static void rtw_init_default_value(struct adapter *padapter) /* xmit_priv */ pxmitpriv->vcs_setting = pregistrypriv->vrtl_carrier_sense; pxmitpriv->vcs = pregistrypriv->vcs_type; - pxmitpriv->vcs_type = pregistrypriv->vcs_type; pxmitpriv->frag_len = pregistrypriv->frag_thresh; /* mlme_priv */ From eb67bf265162d62f22efe3a90021fc43a3c8b13f Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:51 +0100 Subject: [PATCH 072/219] staging: r8188eu: xmit_priv's vcs is not used The vcs component in struct xmit_priv is set but not used. We can remove vcs and the rtw_update_protection function, whose only job is to set vcs. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-12-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_mlme.c | 5 ---- drivers/staging/r8188eu/core/rtw_xmit.c | 34 ---------------------- drivers/staging/r8188eu/include/rtw_xmit.h | 2 -- drivers/staging/r8188eu/os_dep/os_intfs.c | 1 - 4 files changed, 42 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme.c b/drivers/staging/r8188eu/core/rtw_mlme.c index b272123626ac..fb7d0e161fdd 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme.c +++ b/drivers/staging/r8188eu/core/rtw_mlme.c @@ -444,8 +444,6 @@ static void update_current_network(struct adapter *adapter, struct wlan_bssid_ex if (check_fwstate(pmlmepriv, _FW_LINKED) && is_same_network(&pmlmepriv->cur_network.network, pnetwork)) { update_network(&pmlmepriv->cur_network.network, pnetwork, adapter, true); - rtw_update_protection(adapter, (pmlmepriv->cur_network.network.IEs) + sizeof(struct ndis_802_11_fixed_ie), - pmlmepriv->cur_network.network.IELength); } } @@ -1027,9 +1025,6 @@ static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_net break; } - rtw_update_protection(padapter, (cur_network->network.IEs) + - sizeof(struct ndis_802_11_fixed_ie), - (cur_network->network.IELength)); rtw_update_ht_cap(padapter, cur_network->network.IEs, cur_network->network.IELength); } diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 5fd3389604cc..c51f6eabef87 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1099,40 +1099,6 @@ s32 rtw_put_snap(u8 *data, u16 h_proto) return SNAP_SIZE + sizeof(u16); } -void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len) -{ - uint protection; - u8 *perp; - int erp_len; - struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - struct registry_priv *pregistrypriv = &padapter->registrypriv; - - switch (pxmitpriv->vcs_setting) { - case DISABLE_VCS: - pxmitpriv->vcs = NONE_VCS; - break; - case ENABLE_VCS: - break; - case AUTO_VCS: - default: - perp = rtw_get_ie(ie, _ERPINFO_IE_, &erp_len, ie_len); - if (!perp) { - pxmitpriv->vcs = NONE_VCS; - } else { - protection = (*(perp + 2)) & BIT(1); - if (protection) { - if (pregistrypriv->vcs_type == RTS_CTS) - pxmitpriv->vcs = RTS_CTS; - else - pxmitpriv->vcs = CTS_TO_SELF; - } else { - pxmitpriv->vcs = NONE_VCS; - } - } - break; - } -} - void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe, int sz) { struct sta_info *psta = NULL; diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index b372c0bc6420..ea4090683174 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -268,7 +268,6 @@ struct xmit_priv { uint frag_len; struct adapter *adapter; u8 vcs_setting; - u8 vcs; u64 tx_bytes; u64 tx_pkts; u64 tx_drop; @@ -312,7 +311,6 @@ s32 rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe, int sz); -void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len); s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib); s32 rtw_put_snap(u8 *data, u16 h_proto); diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c index ae03d39de092..f022f6b1cf3e 100644 --- a/drivers/staging/r8188eu/os_dep/os_intfs.c +++ b/drivers/staging/r8188eu/os_dep/os_intfs.c @@ -393,7 +393,6 @@ static void rtw_init_default_value(struct adapter *padapter) /* xmit_priv */ pxmitpriv->vcs_setting = pregistrypriv->vrtl_carrier_sense; - pxmitpriv->vcs = pregistrypriv->vcs_type; pxmitpriv->frag_len = pregistrypriv->frag_thresh; /* mlme_priv */ From 001c773caf95a4e1c72a13d3f00b00f3638277ca Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 9 Jan 2023 22:28:52 +0100 Subject: [PATCH 073/219] staging: r8188eu: xmit_priv's vcs_setting is not used vcs_setting in struct xmit_priv is not used any more. We can remove it. Signed-off-by: Martin Kaiser Acked-by: Pavel Skripkin Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230109212852.75612-13-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_xmit.h | 1 - drivers/staging/r8188eu/os_dep/os_intfs.c | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index ea4090683174..883eacd98224 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -267,7 +267,6 @@ struct xmit_priv { struct __queue free_xmit_queue; uint frag_len; struct adapter *adapter; - u8 vcs_setting; u64 tx_bytes; u64 tx_pkts; u64 tx_drop; diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c index f022f6b1cf3e..cfc24420e70c 100644 --- a/drivers/staging/r8188eu/os_dep/os_intfs.c +++ b/drivers/staging/r8188eu/os_dep/os_intfs.c @@ -392,7 +392,6 @@ static void rtw_init_default_value(struct adapter *padapter) struct security_priv *psecuritypriv = &padapter->securitypriv; /* xmit_priv */ - pxmitpriv->vcs_setting = pregistrypriv->vrtl_carrier_sense; pxmitpriv->frag_len = pregistrypriv->frag_thresh; /* mlme_priv */ From 47bdd807aee4c7e60ecf4e6bf5d324e0c5c57604 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 10 Jan 2023 21:56:23 +0100 Subject: [PATCH 074/219] staging: r8188eu: refactor status handling in usb_write_port_complete Refactor the satus handling in usb_write_port_complete. Make it clearer what happens for each status and avoid all the goto statements. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230110205626.183516-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- .../staging/r8188eu/os_dep/usb_ops_linux.c | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 257bcf496012..8494b80a08e5 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -48,21 +48,20 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs) padapter->bWritePortCancel) goto check_completion; - if (purb->status) { - if (purb->status == -EINPROGRESS) { - goto check_completion; - } else if (purb->status == -ENOENT) { - goto check_completion; - } else if (purb->status == -ECONNRESET) { - goto check_completion; - } else if (purb->status == -ESHUTDOWN) { - padapter->bDriverStopped = true; - goto check_completion; - } else if ((purb->status != -EPIPE) && (purb->status != -EPROTO)) { - padapter->bSurpriseRemoved = true; - - goto check_completion; - } + switch (purb->status) { + case 0: + case -EINPROGRESS: + case -ENOENT: + case -ECONNRESET: + case -EPIPE: + case -EPROTO: + break; + case -ESHUTDOWN: + padapter->bDriverStopped = true; + break; + default: + padapter->bSurpriseRemoved = true; + break; } check_completion: From 7b42205e9d873babd9a29337db66045884677c9f Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 10 Jan 2023 21:56:24 +0100 Subject: [PATCH 075/219] staging: r8188eu: reformat usb_write_port_complete This trivial patch reformats the usb_write_port_complete function. Hopefully, this makes the code a bit easier to read. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230110205626.183516-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 8494b80a08e5..7da13b87d726 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -38,14 +38,13 @@ void rtw_read_port_cancel(struct adapter *padapter) static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs) { struct xmit_buf *pxmitbuf = (struct xmit_buf *)purb->context; - struct adapter *padapter = pxmitbuf->padapter; - struct xmit_priv *pxmitpriv = &padapter->xmitpriv; + struct adapter *padapter = pxmitbuf->padapter; + struct xmit_priv *pxmitpriv = &padapter->xmitpriv; if (pxmitbuf->flags == HIGH_QUEUE_INX) rtw_chk_hi_queue_cmd(padapter); - if (padapter->bSurpriseRemoved || padapter->bDriverStopped || - padapter->bWritePortCancel) + if (padapter->bSurpriseRemoved || padapter->bDriverStopped || padapter->bWritePortCancel) goto check_completion; switch (purb->status) { @@ -66,13 +65,9 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs) check_completion: rtw_sctx_done_err(&pxmitbuf->sctx, - purb->status ? RTW_SCTX_DONE_WRITE_PORT_ERR : - RTW_SCTX_DONE_SUCCESS); - + purb->status ? RTW_SCTX_DONE_WRITE_PORT_ERR : RTW_SCTX_DONE_SUCCESS); rtw_free_xmitbuf(pxmitpriv, pxmitbuf); - tasklet_hi_schedule(&pxmitpriv->xmit_tasklet); - } u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem) From 8db002ed48ae8d1821592f1c34d88a39294839b1 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 10 Jan 2023 21:56:25 +0100 Subject: [PATCH 076/219] staging: r8188eu: remove unused function parameter The regs parameter of the usb_write_port_complete function is not used. We can remove it. We can also remove the macro to hide the regs parameter when usb_write_port_complete is used as callback function for an urb transfer. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230110205626.183516-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/usb_ops_linux.h | 2 -- drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/include/usb_ops_linux.h b/drivers/staging/r8188eu/include/usb_ops_linux.h index 966688eedf66..e406a1fccda7 100644 --- a/drivers/staging/r8188eu/include/usb_ops_linux.h +++ b/drivers/staging/r8188eu/include/usb_ops_linux.h @@ -19,8 +19,6 @@ usb_bulkout_zero_complete(purb) #define usb_write_mem_complete(purb, regs) \ usb_write_mem_complete(purb) -#define usb_write_port_complete(purb, regs) \ - usb_write_port_complete(purb) #define usb_read_port_complete(purb, regs) \ usb_read_port_complete(purb) #define usb_read_interrupt_complete(purb, regs) \ diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 7da13b87d726..3fd080091340 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -35,7 +35,7 @@ void rtw_read_port_cancel(struct adapter *padapter) } } -static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs) +static void usb_write_port_complete(struct urb *purb) { struct xmit_buf *pxmitbuf = (struct xmit_buf *)purb->context; struct adapter *padapter = pxmitbuf->padapter; From f4f52873a1a8b40dcfbae5fd8c35e74cc6f46ae9 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 10 Jan 2023 21:56:26 +0100 Subject: [PATCH 077/219] staging: r8188eu: always process urb status Remove the if clause in usb_write_port_complete and process the urb status regardless of bSurpriseRemoved, bDriverStopped and bWritePortCancel. The only possible results of urb status processing are updates to bSurpriseRemoved and bDriverStopped. All of the three status variable are set to true only if the whole USB processing has to be stopped (when the driver is unloaded or when the system goes to sleep). It's no problem if one of the "stop everything" variables is already set and the urb status processing sets another one. This patch removes the last goto in usb_write_port_complete. It's also part of the ongoing effort to limit the use of the "stop everything" variables. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230110205626.183516-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 3fd080091340..62106d2f82ad 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -44,9 +44,6 @@ static void usb_write_port_complete(struct urb *purb) if (pxmitbuf->flags == HIGH_QUEUE_INX) rtw_chk_hi_queue_cmd(padapter); - if (padapter->bSurpriseRemoved || padapter->bDriverStopped || padapter->bWritePortCancel) - goto check_completion; - switch (purb->status) { case 0: case -EINPROGRESS: @@ -63,7 +60,6 @@ static void usb_write_port_complete(struct urb *purb) break; } -check_completion: rtw_sctx_done_err(&pxmitbuf->sctx, purb->status ? RTW_SCTX_DONE_WRITE_PORT_ERR : RTW_SCTX_DONE_SUCCESS); rtw_free_xmitbuf(pxmitpriv, pxmitbuf); From 664f99fd544ff4de42172ff826081a8d2e2eff34 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 11:02:01 +0100 Subject: [PATCH 078/219] staging: r8188eu: remove NULL check for usb_kill_urb usb_kill_urb handles a NULL parameter. There's no need for NULL checks before we call usb_kill_urb. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111100201.251905-1-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 62106d2f82ad..583533631133 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -29,8 +29,7 @@ void rtw_read_port_cancel(struct adapter *padapter) for (i = 0; i < NR_RECVBUFF; i++) { precvbuf->reuse = true; - if (precvbuf->purb) - usb_kill_urb(precvbuf->purb); + usb_kill_urb(precvbuf->purb); precvbuf++; } } @@ -153,15 +152,13 @@ void rtw_write_port_cancel(struct adapter *padapter) padapter->bWritePortCancel = true; for (i = 0; i < NR_XMITBUFF; i++) { - if (pxmitbuf->pxmit_urb) - usb_kill_urb(pxmitbuf->pxmit_urb); + usb_kill_urb(pxmitbuf->pxmit_urb); pxmitbuf++; } pxmitbuf = (struct xmit_buf *)padapter->xmitpriv.pxmit_extbuf; for (i = 0; i < NR_XMIT_EXTBUFF; i++) { - if (pxmitbuf->pxmit_urb) - usb_kill_urb(pxmitbuf->pxmit_urb); + usb_kill_urb(pxmitbuf->pxmit_urb); pxmitbuf++; } } From 99438dab153ab619473e61d004aa52568a8bdb12 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:21 +0100 Subject: [PATCH 079/219] staging: r8188eu: remove struct io_priv struct io_priv has only one member (and a pointer to the enclosing struct adapter). We can remove struct io_priv and move its member directly into struct adapter. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/usb_ops_linux.c | 21 +++++++-------------- drivers/staging/r8188eu/include/drv_types.h | 2 +- drivers/staging/r8188eu/include/rtw_io.h | 5 ----- drivers/staging/r8188eu/os_dep/usb_intf.c | 5 +---- 4 files changed, 9 insertions(+), 24 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c index ff784a80a68a..c6a4353e580e 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -95,8 +95,7 @@ static int usb_write(struct intf_hdl *intf, u16 value, void *data, u8 size) int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data) { - struct io_priv *io_priv = &adapter->iopriv; - struct intf_hdl *intf = &io_priv->intf; + struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; return usb_read(intf, value, data, 1); @@ -104,8 +103,7 @@ int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data) int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data) { - struct io_priv *io_priv = &adapter->iopriv; - struct intf_hdl *intf = &io_priv->intf; + struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; __le16 le_data; int res; @@ -121,8 +119,7 @@ int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data) int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data) { - struct io_priv *io_priv = &adapter->iopriv; - struct intf_hdl *intf = &io_priv->intf; + struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; __le32 le_data; int res; @@ -138,8 +135,7 @@ int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data) int rtw_write8(struct adapter *adapter, u32 addr, u8 val) { - struct io_priv *io_priv = &adapter->iopriv; - struct intf_hdl *intf = &io_priv->intf; + struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; int ret; @@ -150,8 +146,7 @@ int rtw_write8(struct adapter *adapter, u32 addr, u8 val) int rtw_write16(struct adapter *adapter, u32 addr, u16 val) { - struct io_priv *io_priv = &adapter->iopriv; - struct intf_hdl *intf = &io_priv->intf; + struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; __le16 data = cpu_to_le16(val); int ret; @@ -163,8 +158,7 @@ int rtw_write16(struct adapter *adapter, u32 addr, u16 val) int rtw_write32(struct adapter *adapter, u32 addr, u32 val) { - struct io_priv *io_priv = &adapter->iopriv; - struct intf_hdl *intf = &io_priv->intf; + struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; __le32 data = cpu_to_le32(val); int ret; @@ -176,8 +170,7 @@ int rtw_write32(struct adapter *adapter, u32 addr, u32 val) int rtw_writeN(struct adapter *adapter, u32 addr, u32 length, u8 *data) { - struct io_priv *io_priv = &adapter->iopriv; - struct intf_hdl *intf = &io_priv->intf; + struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; if (length > VENDOR_CMD_MAX_DATA_LEN) diff --git a/drivers/staging/r8188eu/include/drv_types.h b/drivers/staging/r8188eu/include/drv_types.h index 4803d0c77d70..614673902377 100644 --- a/drivers/staging/r8188eu/include/drv_types.h +++ b/drivers/staging/r8188eu/include/drv_types.h @@ -152,7 +152,7 @@ struct adapter { struct mlme_ext_priv mlmeextpriv; struct cmd_priv cmdpriv; struct evt_priv evtpriv; - struct io_priv iopriv; + struct intf_hdl intf; struct xmit_priv xmitpriv; struct recv_priv recvpriv; struct sta_priv stapriv; diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index e9744694204b..c15b2e873fd5 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -203,11 +203,6 @@ struct io_queue { struct intf_hdl intf; }; -struct io_priv { - struct adapter *padapter; - struct intf_hdl intf; -}; - uint ioreq_flush(struct adapter *adapter, struct io_queue *ioqueue); void sync_ioreq_enqueue(struct io_req *preq, struct io_queue *ioqueue); uint sync_ioreq_flush(struct adapter *adapter, struct io_queue *ioqueue); diff --git a/drivers/staging/r8188eu/os_dep/usb_intf.c b/drivers/staging/r8188eu/os_dep/usb_intf.c index 5fbfbcd95de2..1f70e5fee1b2 100644 --- a/drivers/staging/r8188eu/os_dep/usb_intf.c +++ b/drivers/staging/r8188eu/os_dep/usb_intf.c @@ -290,7 +290,6 @@ static int rtw_usb_if1_init(struct dvobj_priv *dvobj, struct usb_interface *pusb { struct adapter *padapter = NULL; struct net_device *pnetdev = NULL; - struct io_priv *piopriv; struct intf_hdl *pintf; int ret; @@ -319,9 +318,7 @@ static int rtw_usb_if1_init(struct dvobj_priv *dvobj, struct usb_interface *pusb padapter->intf_stop = &usb_intf_stop; /* step init_io_priv */ - piopriv = &padapter->iopriv; - pintf = &piopriv->intf; - piopriv->padapter = padapter; + pintf = &padapter->intf; pintf->padapter = padapter; pintf->pintf_dev = adapter_to_dvobj(padapter); From b0f6b1142a6efa55806256f0ec7925f074370c15 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:22 +0100 Subject: [PATCH 080/219] staging: r8188eu: remove io function prototypes Remove some prototypes for io functions which are not present in the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index c15b2e873fd5..18e95bccda49 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -203,12 +203,6 @@ struct io_queue { struct intf_hdl intf; }; -uint ioreq_flush(struct adapter *adapter, struct io_queue *ioqueue); -void sync_ioreq_enqueue(struct io_req *preq, struct io_queue *ioqueue); -uint sync_ioreq_flush(struct adapter *adapter, struct io_queue *ioqueue); -uint free_ioreq(struct io_req *preq, struct io_queue *pio_queue); -struct io_req *alloc_ioreq(struct io_queue *pio_q); - uint register_intf_hdl(u8 *dev, struct intf_hdl *pintfhdl); void unregister_intf_hdl(struct intf_hdl *pintfhdl); @@ -273,11 +267,6 @@ void async_write32(struct adapter *adapter, u32 addr, u32 val, void async_write_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); void async_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); -uint alloc_io_queue(struct adapter *adapter); -void free_io_queue(struct adapter *adapter); -void async_bus_io(struct io_queue *pio_q); -void bus_sync_io(struct io_queue *pio_q); -u32 _ioreq2rwmem(struct io_queue *pio_q); void dev_power_down(struct adapter *Adapter, u8 bpwrup); #endif /* _RTL8711_IO_H_ */ From 6d09e47364336c7b08eebabc6f70aaf29a70fa5f Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:23 +0100 Subject: [PATCH 081/219] staging: r8188eu: remove ioreq function prototypes Remove some prototypes for ioreq functions which are not present in the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 18e95bccda49..1d65c60cbe27 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -227,14 +227,6 @@ void rtw_write_port_cancel(struct adapter *adapter); void rtw_write_scsi(struct adapter *adapter, u32 cnt, u8 *pmem); -/* ioreq */ -void ioreq_read8(struct adapter *adapter, u32 addr, u8 *pval); -void ioreq_read16(struct adapter *adapter, u32 addr, u16 *pval); -void ioreq_read32(struct adapter *adapter, u32 addr, u32 *pval); -void ioreq_write8(struct adapter *adapter, u32 addr, u8 val); -void ioreq_write16(struct adapter *adapter, u32 addr, u16 val); -void ioreq_write32(struct adapter *adapter, u32 addr, u32 val); - uint async_read8(struct adapter *adapter, u32 addr, u8 *pbuff, void (*_async_io_callback)(struct adapter *padater, struct io_req *pio_req, From caf94fd29f34d59f66b7b97bf717e8dace00805b Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:24 +0100 Subject: [PATCH 082/219] staging: r8188eu: remove async read function prototypes Remove some prototypes for async read functions which are not present in the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 1d65c60cbe27..f9394329b674 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -227,22 +227,6 @@ void rtw_write_port_cancel(struct adapter *adapter); void rtw_write_scsi(struct adapter *adapter, u32 cnt, u8 *pmem); -uint async_read8(struct adapter *adapter, u32 addr, u8 *pbuff, - void (*_async_io_callback)(struct adapter *padater, - struct io_req *pio_req, - u8 *cnxt), u8 *cnxt); -uint async_read16(struct adapter *adapter, u32 addr, u8 *pbuff, - void (*_async_io_callback)(struct adapter *padater, - struct io_req *pio_req, - u8 *cnxt), u8 *cnxt); -uint async_read32(struct adapter *adapter, u32 addr, u8 *pbuff, - void (*_async_io_callback)(struct adapter *padater, - struct io_req *pio_req, - u8 *cnxt), u8 *cnxt); - -void async_read_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); -void async_read_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); - void async_write8(struct adapter *adapter, u32 addr, u8 val, void (*_async_io_callback)(struct adapter *padater, struct io_req *pio_req, From 8009bbba023c4c4e5ed39a726c75d0e8b87be521 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:25 +0100 Subject: [PATCH 083/219] staging: r8188eu: remove async write function prototypes Remove some prototypes for async write functions which are not present in the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-6-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index f9394329b674..6ce099e91e20 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -227,22 +227,6 @@ void rtw_write_port_cancel(struct adapter *adapter); void rtw_write_scsi(struct adapter *adapter, u32 cnt, u8 *pmem); -void async_write8(struct adapter *adapter, u32 addr, u8 val, - void (*_async_io_callback)(struct adapter *padater, - struct io_req *pio_req, - u8 *cnxt), u8 *cnxt); -void async_write16(struct adapter *adapter, u32 addr, u16 val, - void (*_async_io_callback)(struct adapter *padater, - struct io_req *pio_req, - u8 *cnxt), u8 *cnxt); -void async_write32(struct adapter *adapter, u32 addr, u32 val, - void (*_async_io_callback)(struct adapter *padater, - struct io_req *pio_req, - u8 *cnxt), u8 *cnxt); - -void async_write_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); -void async_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); - void dev_power_down(struct adapter *Adapter, u8 bpwrup); #endif /* _RTL8711_IO_H_ */ From e9d8bca4dfa3f015fe5614da0e5806d4c82c5973 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:26 +0100 Subject: [PATCH 084/219] staging: r8188eu: remove struct io_queue struct io_queue is not used in the r8188eu driver. Remove it. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-7-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 6ce099e91e20..7d1f3cc20b57 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -82,7 +82,6 @@ struct intf_priv; struct intf_hdl; -struct io_queue; struct io_req { struct list_head list; @@ -188,21 +187,6 @@ struct reg_protocol_wt { #endif }; -/* -Below is the data structure used by _io_handler -*/ - -struct io_queue { - spinlock_t lock; - struct list_head free_ioreqs; - struct list_head pending; /* The io_req list that will be served - * in the single protocol read/write.*/ - struct list_head processing; - u8 *free_ioreqs_buf; /* 4-byte aligned */ - u8 *pallocated_free_ioreqs_buf; - struct intf_hdl intf; -}; - uint register_intf_hdl(u8 *dev, struct intf_hdl *pintfhdl); void unregister_intf_hdl(struct intf_hdl *pintfhdl); From 6a7c91d459058f28ab9ca8b87d18244d459aa103 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:27 +0100 Subject: [PATCH 085/219] staging: r8188eu: remove attrib function prototypes Remove the prototypes for attrib read and write functions which are not present in the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-8-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 7d1f3cc20b57..9cf4f233ae60 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -190,9 +190,6 @@ struct reg_protocol_wt { uint register_intf_hdl(u8 *dev, struct intf_hdl *pintfhdl); void unregister_intf_hdl(struct intf_hdl *pintfhdl); -void _rtw_attrib_read(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); -void _rtw_attrib_write(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); - int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data); int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data); int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data); From 7c1d57a4cb9b94e505045eaa50e876a7b61e9860 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:28 +0100 Subject: [PATCH 086/219] staging: r8188eu: remove rtw_write_scsi function prototype The rtw_write_scsi function is not present in the r8188eu driver. Remove its prototype. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-9-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 9cf4f233ae60..7c4fe273cc0d 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -206,8 +206,6 @@ void _rtw_write_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); void rtw_write_port_cancel(struct adapter *adapter); -void rtw_write_scsi(struct adapter *adapter, u32 cnt, u8 *pmem); - void dev_power_down(struct adapter *Adapter, u8 bpwrup); #endif /* _RTL8711_IO_H_ */ From 80235597699f53690bc8c1a9fa02be86d557fbe6 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:29 +0100 Subject: [PATCH 087/219] staging: r8188eu: remove dev_power_down function prototype The dev_power_down function is not present in the r8188eu driver. Remove its prototype. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-10-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 7c4fe273cc0d..4800c8249721 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -206,6 +206,4 @@ void _rtw_write_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); void rtw_write_port_cancel(struct adapter *adapter); -void dev_power_down(struct adapter *Adapter, u8 bpwrup); - #endif /* _RTL8711_IO_H_ */ From 0fff48ebe392d73e5e11a825e85a8a677446233e Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:30 +0100 Subject: [PATCH 088/219] staging: r8188eu: remove struct reg_protocol_rd Remove struct reg_protocol_rd. It's not used in the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-11-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 43 ------------------------ 1 file changed, 43 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 4800c8249721..858fd9cbb57a 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -102,49 +102,6 @@ struct intf_hdl { struct dvobj_priv *pintf_dev; }; -struct reg_protocol_rd { -#ifdef __LITTLE_ENDIAN - /* DW1 */ - u32 NumOfTrans:4; - u32 Reserved1:4; - u32 Reserved2:24; - /* DW2 */ - u32 ByteCount:7; - u32 WriteEnable:1; /* 0:read, 1:write */ - u32 FixOrContinuous:1; /* 0:continuous, 1: Fix */ - u32 BurstMode:1; - u32 Byte1Access:1; - u32 Byte2Access:1; - u32 Byte4Access:1; - u32 Reserved3:3; - u32 Reserved4:16; - /* DW3 */ - u32 BusAddress; - /* DW4 */ - /* u32 Value; */ -#else -/* DW1 */ - u32 Reserved1:4; - u32 NumOfTrans:4; - u32 Reserved2:24; - /* DW2 */ - u32 WriteEnable:1; - u32 ByteCount:7; - u32 Reserved3:3; - u32 Byte4Access:1; - - u32 Byte2Access:1; - u32 Byte1Access:1; - u32 BurstMode:1; - u32 FixOrContinuous:1; - u32 Reserved4:16; - /* DW3 */ - u32 BusAddress; - - /* DW4 */ -#endif -}; - struct reg_protocol_wt { #ifdef __LITTLE_ENDIAN /* DW1 */ From 144d2abcd1acce3c8d852d3b79d342fa3163281a Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:31 +0100 Subject: [PATCH 089/219] staging: r8188eu: remove struct reg_protocol_wt Remove struct reg_protocol_wt. It's not used in the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-12-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 42 ------------------------ 1 file changed, 42 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 858fd9cbb57a..ae290a18e593 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -102,48 +102,6 @@ struct intf_hdl { struct dvobj_priv *pintf_dev; }; -struct reg_protocol_wt { -#ifdef __LITTLE_ENDIAN - /* DW1 */ - u32 NumOfTrans:4; - u32 Reserved1:4; - u32 Reserved2:24; - /* DW2 */ - u32 ByteCount:7; - u32 WriteEnable:1; /* 0:read, 1:write */ - u32 FixOrContinuous:1; /* 0:continuous, 1: Fix */ - u32 BurstMode:1; - u32 Byte1Access:1; - u32 Byte2Access:1; - u32 Byte4Access:1; - u32 Reserved3:3; - u32 Reserved4:16; - /* DW3 */ - u32 BusAddress; - /* DW4 */ - u32 Value; -#else - /* DW1 */ - u32 Reserved1 :4; - u32 NumOfTrans:4; - u32 Reserved2:24; - /* DW2 */ - u32 WriteEnable:1; - u32 ByteCount:7; - u32 Reserved3:3; - u32 Byte4Access:1; - u32 Byte2Access:1; - u32 Byte1Access:1; - u32 BurstMode:1; - u32 FixOrContinuous:1; - u32 Reserved4:16; - /* DW3 */ - u32 BusAddress; - /* DW4 */ - u32 Value; -#endif -}; - uint register_intf_hdl(u8 *dev, struct intf_hdl *pintfhdl); void unregister_intf_hdl(struct intf_hdl *pintfhdl); From b51ea4652119da5c363c390064b52fd8e1313323 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:32 +0100 Subject: [PATCH 090/219] staging: r8188eu: remove interface handler prototypes Remove prototypes for interface handler functions. They are not used by the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-13-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index ae290a18e593..c9ddba66d852 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -102,9 +102,6 @@ struct intf_hdl { struct dvobj_priv *pintf_dev; }; -uint register_intf_hdl(u8 *dev, struct intf_hdl *pintfhdl); -void unregister_intf_hdl(struct intf_hdl *pintfhdl); - int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data); int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data); int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data); From e9d28e5d3ca389b44a5964c4f1c201b2ef8fdee3 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:33 +0100 Subject: [PATCH 091/219] staging: r8188eu: remove readmem and writemem prototypes Remove the prototypes for the unused _rtw_read_mem and _rtw_write_mem functions. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-14-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index c9ddba66d852..95dd66c0be82 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -105,7 +105,6 @@ struct intf_hdl { int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data); int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data); int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data); -void _rtw_read_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); u32 rtw_read_port(struct adapter *adapter, u8 *pmem); void rtw_read_port_cancel(struct adapter *adapter); @@ -114,7 +113,6 @@ int rtw_write16(struct adapter *adapter, u32 addr, u16 val); int rtw_write32(struct adapter *adapter, u32 addr, u32 val); int rtw_writeN(struct adapter *adapter, u32 addr, u32 length, u8 *pdata); -void _rtw_write_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); void rtw_write_port_cancel(struct adapter *adapter); From 9196c6c186f4fc669b72cf76858565e19a9e404a Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:34 +0100 Subject: [PATCH 092/219] staging: r8188eu: remove IO defines Remove a couple of IO related defines which are not used in the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-15-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 58 ------------------------ 1 file changed, 58 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 95dd66c0be82..749bb1d0eeed 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -22,64 +22,6 @@ #define rtw_usb_buffer_free(dev, size, addr, dma) \ usb_free_coherent((dev), (size), (addr), (dma)) -#define NUM_IOREQ 8 - -#define MAX_PROT_SZ (64-16) - -#define _IOREADY 0 -#define _IO_WAIT_COMPLETE 1 -#define _IO_WAIT_RSP 2 - -/* IO COMMAND TYPE */ -#define _IOSZ_MASK_ (0x7F) -#define _IO_WRITE_ BIT(7) -#define _IO_FIXED_ BIT(8) -#define _IO_BURST_ BIT(9) -#define _IO_BYTE_ BIT(10) -#define _IO_HW_ BIT(11) -#define _IO_WORD_ BIT(12) -#define _IO_SYNC_ BIT(13) -#define _IO_CMDMASK_ (0x1F80) - -/* - For prompt mode accessing, caller shall free io_req - Otherwise, io_handler will free io_req -*/ - -/* IO STATUS TYPE */ -#define _IO_ERR_ BIT(2) -#define _IO_SUCCESS_ BIT(1) -#define _IO_DONE_ BIT(0) - -#define IO_RD32 (_IO_SYNC_ | _IO_WORD_) -#define IO_RD16 (_IO_SYNC_ | _IO_HW_) -#define IO_RD8 (_IO_SYNC_ | _IO_BYTE_) - -#define IO_RD32_ASYNC (_IO_WORD_) -#define IO_RD16_ASYNC (_IO_HW_) -#define IO_RD8_ASYNC (_IO_BYTE_) - -#define IO_WR32 (_IO_WRITE_ | _IO_SYNC_ | _IO_WORD_) -#define IO_WR16 (_IO_WRITE_ | _IO_SYNC_ | _IO_HW_) -#define IO_WR8 (_IO_WRITE_ | _IO_SYNC_ | _IO_BYTE_) - -#define IO_WR32_ASYNC (_IO_WRITE_ | _IO_WORD_) -#define IO_WR16_ASYNC (_IO_WRITE_ | _IO_HW_) -#define IO_WR8_ASYNC (_IO_WRITE_ | _IO_BYTE_) - -/* - Only Sync. burst accessing is provided. -*/ - -#define IO_WR_BURST(x) \ - (_IO_WRITE_ | _IO_SYNC_ | _IO_BURST_ | ((x) & _IOSZ_MASK_)) -#define IO_RD_BURST(x) \ - (_IO_SYNC_ | _IO_BURST_ | ((x) & _IOSZ_MASK_)) - -/* below is for the intf_option bit defition... */ - -#define _INTF_ASYNC_ BIT(0) /* support async io */ - struct intf_priv; struct intf_hdl; From 944a7a7ab86aecf8f59be045f716dcdf3a273b1e Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:35 +0100 Subject: [PATCH 093/219] staging: r8188eu: remove struct io_req struct io_req is not needed in the r8188eu driver. Remove it. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-16-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 749bb1d0eeed..900ed2c648d4 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -25,20 +25,6 @@ struct intf_priv; struct intf_hdl; -struct io_req { - struct list_head list; - u32 addr; - u32 val; - u32 command; - u32 status; - u8 *pbuf; - struct semaphore sema; - - void (*_async_io_callback)(struct adapter *padater, - struct io_req *pio_req, u8 *cnxt); - u8 *cnxt; -}; - struct intf_hdl { struct adapter *padapter; struct dvobj_priv *pintf_dev; From 3f7d87d4ecd7b75482b381ab035e72757f899f6b Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:36 +0100 Subject: [PATCH 094/219] staging: r8188eu: remove usb buffer macros Remove two unused macros that allocate and free usb buffers. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-17-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_io.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 900ed2c648d4..0d2aa432f88d 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -16,12 +16,6 @@ #include #include -#define rtw_usb_buffer_alloc(dev, size, dma) \ - usb_alloc_coherent((dev), (size), (in_interrupt() ? \ - GFP_ATOMIC : GFP_KERNEL), (dma)) -#define rtw_usb_buffer_free(dev, size, addr, dma) \ - usb_free_coherent((dev), (size), (addr), (dma)) - struct intf_priv; struct intf_hdl; From 0d4560530d0ec4094fa7c5ebbf123a8e15fdd554 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Wed, 11 Jan 2023 20:56:37 +0100 Subject: [PATCH 095/219] staging: r8188eu: pass struct adapter to usb_read The usb_read function takes a struct intf_hdl only to extract the struct adapter from it. We can pass struct adapter directly. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230111195640.306748-18-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/usb_ops_linux.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c index c6a4353e580e..d82abfcd91f3 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -7,9 +7,8 @@ #include "../include/usb_ops.h" #include "../include/rtl8188e_hal.h" -static int usb_read(struct intf_hdl *intf, u16 value, void *data, u8 size) +static int usb_read(struct adapter *adapt, u16 value, void *data, u8 size) { - struct adapter *adapt = intf->padapter; struct dvobj_priv *dvobjpriv = adapter_to_dvobj(adapt); struct usb_device *udev = dvobjpriv->pusbdev; int status; @@ -95,20 +94,18 @@ static int usb_write(struct intf_hdl *intf, u16 value, void *data, u8 size) int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data) { - struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; - return usb_read(intf, value, data, 1); + return usb_read(adapter, value, data, 1); } int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data) { - struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; __le16 le_data; int res; - res = usb_read(intf, value, &le_data, 2); + res = usb_read(adapter, value, &le_data, 2); if (res) return res; @@ -119,12 +116,11 @@ int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data) int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data) { - struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; __le32 le_data; int res; - res = usb_read(intf, value, &le_data, 4); + res = usb_read(adapter, value, &le_data, 4); if (res) return res; From 6eacd2420a710b93ca45a001d5b7d7dc481e3078 Mon Sep 17 00:00:00 2001 From: Michael Straube Date: Sun, 15 Jan 2023 22:07:31 +0100 Subject: [PATCH 096/219] staging: r8188eu: convert PHY_MACConfig8188E() to common error logic Convert the function PHY_MACConfig8188E() away from returning _FAIL or _SUCCESS which uses inverted error logic. Use the common error logic instead. Return 0 for success and negative values for failure. Signed-off-by: Michael Straube Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230115210734.18610-2-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/rtl8188e_phycfg.c | 9 ++++----- drivers/staging/r8188eu/hal/usb_halinit.c | 5 ++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c index b7f3c7a670fb..204c1c30377b 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c @@ -315,21 +315,20 @@ rtl8188e_PHY_SetRFReg( * 08/12/2008 MHC Create Version 0. * *---------------------------------------------------------------------------*/ -s32 PHY_MACConfig8188E(struct adapter *Adapter) +int PHY_MACConfig8188E(struct adapter *Adapter) { struct hal_data_8188e *pHalData = &Adapter->haldata; - int rtStatus = _SUCCESS; + int err; /* */ /* Config MAC */ /* */ - if (ODM_ReadAndConfig_MAC_REG_8188E(&pHalData->odmpriv)) - rtStatus = _FAIL; + err = ODM_ReadAndConfig_MAC_REG_8188E(&pHalData->odmpriv); /* 2010.07.13 AMPDU aggregation number B */ rtw_write16(Adapter, REG_MAX_AGGR_NUM, MAX_AGGR_NUM); - return rtStatus; + return err; } /** diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8188eu/hal/usb_halinit.c index d28b4dc2a767..9ba6a526e90d 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -600,9 +600,8 @@ u32 rtl8188eu_hal_init(struct adapter *Adapter) Adapter->pwrctrlpriv.bFwCurrentInPSMode = false; haldata->LastHMEBoxNum = 0; - status = PHY_MACConfig8188E(Adapter); - if (status == _FAIL) - goto exit; + if (PHY_MACConfig8188E(Adapter)) + return _FAIL; /* */ /* d. Initialize BB related configurations. */ From 8ece288b16f72508a664c3fe234b7e4208d06660 Mon Sep 17 00:00:00 2001 From: Michael Straube Date: Sun, 15 Jan 2023 22:07:32 +0100 Subject: [PATCH 097/219] staging: r8188eu: convert phy_RF6052_Config_ParaFile() to common error logic Convert the function phy_RF6052_Config_ParaFile() away from returning _FAIL or _SUCCESS which uses inverted error logic. Use the common error logic instead. Return 0 for success and negative values for failure. Signed-off-by: Michael Straube Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230115210734.18610-3-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/rtl8188e_rf6052.c | 7 +++---- drivers/staging/r8188eu/hal/usb_halinit.c | 5 ++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c b/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c index e5ec6e563fbd..1988fb6e780a 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c @@ -371,7 +371,7 @@ int phy_RF6052_Config_ParaFile(struct adapter *Adapter) struct bb_reg_def *pPhyReg; struct hal_data_8188e *pHalData = &Adapter->haldata; u32 u4RegValue = 0; - int rtStatus = _SUCCESS; + int err; /* Initialize RF */ @@ -396,11 +396,10 @@ int phy_RF6052_Config_ParaFile(struct adapter *Adapter) udelay(1);/* PlatformStallExecution(1); */ /*----Initialize RF fom connfiguration file----*/ - if (ODM_ReadAndConfig_RadioA_1T_8188E(&pHalData->odmpriv)) - rtStatus = _FAIL; + err = ODM_ReadAndConfig_RadioA_1T_8188E(&pHalData->odmpriv); /*----Restore RFENV control type----*/; rtl8188e_PHY_SetBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV, u4RegValue); - return rtStatus; + return err; } diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8188eu/hal/usb_halinit.c index 9ba6a526e90d..cb36b42c5ecc 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -610,9 +610,8 @@ u32 rtl8188eu_hal_init(struct adapter *Adapter) if (status == _FAIL) goto exit; - status = phy_RF6052_Config_ParaFile(Adapter); - if (status == _FAIL) - goto exit; + if (phy_RF6052_Config_ParaFile(Adapter)) + return _FAIL; status = rtl8188e_iol_efuse_patch(Adapter); if (status == _FAIL) From c58bc596a85cd3806ee5e10483e5f0981bb64e43 Mon Sep 17 00:00:00 2001 From: Michael Straube Date: Sun, 15 Jan 2023 22:07:33 +0100 Subject: [PATCH 098/219] staging: r8188eu: convert phy_BB8188E_Config_ParaFile() to common error logic Convert the fubction phy_BB8188E_Config_ParaFile() away from returning _FAIL or _SUCCESS which uses inverted error logic. Use the common error logic instead. Return 0 for success and negative values for failure. Signed-off-by: Michael Straube Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230115210734.18610-4-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/rtl8188e_phycfg.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c index 204c1c30377b..c52af93f1669 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c @@ -449,13 +449,15 @@ static int phy_BB8188E_Config_ParaFile(struct adapter *Adapter) { struct eeprom_priv *pEEPROM = &Adapter->eeprompriv; struct hal_data_8188e *pHalData = &Adapter->haldata; + int err; /* */ /* 1. Read PHY_REG.TXT BB INIT!! */ /* We will separate as 88C / 92C according to chip version */ /* */ - if (ODM_ReadAndConfig_PHY_REG_1T_8188E(&pHalData->odmpriv)) - return _FAIL; + err = ODM_ReadAndConfig_PHY_REG_1T_8188E(&pHalData->odmpriv); + if (err) + return err; /* 2. If EEPROM or EFUSE autoload OK, We must config by PHY_REG_PG.txt */ if (!pEEPROM->bautoload_fail_flag) { @@ -464,10 +466,11 @@ static int phy_BB8188E_Config_ParaFile(struct adapter *Adapter) } /* 3. BB AGC table Initialization */ - if (ODM_ReadAndConfig_AGC_TAB_1T_8188E(&pHalData->odmpriv)) - return _FAIL; + err = ODM_ReadAndConfig_AGC_TAB_1T_8188E(&pHalData->odmpriv); + if (err) + return err; - return _SUCCESS; + return 0; } int @@ -497,7 +500,8 @@ PHY_BBConfig8188E( rtw_write8(Adapter, REG_SYS_FUNC_EN, FEN_USBA | FEN_USBD | FEN_BB_GLB_RSTn | FEN_BBRSTB); /* Config BB and AGC */ - rtStatus = phy_BB8188E_Config_ParaFile(Adapter); + if (phy_BB8188E_Config_ParaFile(Adapter)) + rtStatus = _FAIL; /* write 0x24[16:11] = 0x24[22:17] = CrystalCap */ CrystalCap = pHalData->CrystalCap & 0x3F; From 4193769b6dfd7ddc5ec5e2ccae6458f4ba65797f Mon Sep 17 00:00:00 2001 From: Michael Straube Date: Sun, 15 Jan 2023 22:07:34 +0100 Subject: [PATCH 099/219] staging: r8188eu: convert PHY_BBConfig8188E() to common error logic Convert the function PHY_BBConfig8188E() away from returning _FAIL or _SUCCESS which uses inverted error logic. Use the common error logic instead. Return 0 for success and negative values for failure. Signed-off-by: Michael Straube Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230115210734.18610-5-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/rtl8188e_phycfg.c | 14 ++++++-------- drivers/staging/r8188eu/hal/usb_halinit.c | 5 ++--- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c index c52af93f1669..f4edf4a8f5c2 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c @@ -478,18 +478,17 @@ PHY_BBConfig8188E( struct adapter *Adapter ) { - int rtStatus = _SUCCESS; struct hal_data_8188e *pHalData = &Adapter->haldata; u16 RegVal; u8 CrystalCap; - int res; + int err; phy_InitBBRFRegisterDefinition(Adapter); /* Enable BB and RF */ - res = rtw_read16(Adapter, REG_SYS_FUNC_EN, &RegVal); - if (res) - return _FAIL; + err = rtw_read16(Adapter, REG_SYS_FUNC_EN, &RegVal); + if (err) + return err; rtw_write16(Adapter, REG_SYS_FUNC_EN, (u16)(RegVal | BIT(13) | BIT(0) | BIT(1))); @@ -500,14 +499,13 @@ PHY_BBConfig8188E( rtw_write8(Adapter, REG_SYS_FUNC_EN, FEN_USBA | FEN_USBD | FEN_BB_GLB_RSTn | FEN_BBRSTB); /* Config BB and AGC */ - if (phy_BB8188E_Config_ParaFile(Adapter)) - rtStatus = _FAIL; + err = phy_BB8188E_Config_ParaFile(Adapter); /* write 0x24[16:11] = 0x24[22:17] = CrystalCap */ CrystalCap = pHalData->CrystalCap & 0x3F; rtl8188e_PHY_SetBBReg(Adapter, REG_AFE_XTAL_CTRL, 0x7ff800, (CrystalCap | (CrystalCap << 6))); - return rtStatus; + return err; } static void getTxPowerIndex88E(struct adapter *Adapter, u8 channel, u8 *cckPowerLevel, diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8188eu/hal/usb_halinit.c index cb36b42c5ecc..b7c9e5fd9a59 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -606,9 +606,8 @@ u32 rtl8188eu_hal_init(struct adapter *Adapter) /* */ /* d. Initialize BB related configurations. */ /* */ - status = PHY_BBConfig8188E(Adapter); - if (status == _FAIL) - goto exit; + if (PHY_BBConfig8188E(Adapter)) + return _FAIL; if (phy_RF6052_Config_ParaFile(Adapter)) return _FAIL; From f6510a93cfd8c6c79b4dda0f2967cdc6df42eff4 Mon Sep 17 00:00:00 2001 From: Yuan Can Date: Thu, 19 Jan 2023 08:31:19 +0000 Subject: [PATCH 100/219] staging: emxx_udc: Add checks for dma_alloc_coherent() As the dma_alloc_coherent may return NULL, the return value needs to be checked to avoid NULL poineter dereference. Signed-off-by: Yuan Can Reviewed-by: Simon Horman Link: https://lore.kernel.org/r/20230119083119.16956-1-yuancan@huawei.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/emxx_udc/emxx_udc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/staging/emxx_udc/emxx_udc.c b/drivers/staging/emxx_udc/emxx_udc.c index b4e19174bef2..f9765841c4aa 100644 --- a/drivers/staging/emxx_udc/emxx_udc.c +++ b/drivers/staging/emxx_udc/emxx_udc.c @@ -2587,10 +2587,15 @@ static int nbu2ss_ep_queue(struct usb_ep *_ep, req->unaligned = false; if (req->unaligned) { - if (!ep->virt_buf) + if (!ep->virt_buf) { ep->virt_buf = dma_alloc_coherent(udc->dev, PAGE_SIZE, &ep->phys_buf, GFP_ATOMIC | GFP_DMA); + if (!ep->virt_buf) { + spin_unlock_irqrestore(&udc->lock, flags); + return -ENOMEM; + } + } if (ep->epnum > 0) { if (ep->direct == USB_DIR_IN) memcpy(ep->virt_buf, req->req.buf, From 049e40ef203ebdf530cb37a3f5f7752d0c07b288 Mon Sep 17 00:00:00 2001 From: Deepak R Varma Date: Wed, 18 Jan 2023 10:05:44 +0530 Subject: [PATCH 101/219] staging: wlan-ng: Remove unused code Following structs are defined but never used. Remove such dead code. hfa384x_pdr_pcb_partnum hfa384x_pdr_pcb_tracenum hfa384x_pdr_nic_serial hfa384x_pdr_mkk_measurements hfa384x_pdr_nic_ramsize hfa384x_pdr_refdac_measurements hfa384x_pdr_vgdac_measurements hfa384x_pdr_level_comp_measurements hfa384x_pdr_mac_address hfa384x_pdr_mkk_callname hfa384x_pdr_regdomain hfa384x_pdr_allowed_channel hfa384x_pdr_default_channel hfa384x_pdr_privacy_option hfa384x_pdr_temptype hfa384x_pdr_refdac_setup hfa384x_pdr_vgdac_setup hfa384x_pdr_level_comp_setup hfa384x_pdr_trimdac_setup hfa384x_pdr_ifr_setting hfa384x_pdr_rfr_setting hfa384x_pdr_hfa3861_baseline hfa384x_pdr_hfa3861_shadow hfa384x_pdr_hfa3861_ifrf hfa384x_pdr_hfa3861_chcalsp hfa384x_pdr_hfa3861_chcali hfa384x_pdr_hfa3861_nic_config hfa384x_pdr_hfo_delay hfa384x_pdr_hfa3861_manf_testsp hfa384x_pdr_hfa3861_manf_testi hfa384x_pdr_end_of_pda Signed-off-by: Deepak R Varma Link: https://lore.kernel.org/r/Y8d3IOQ8fry2xmz4@ubun2204.myguest.virtualbox.org Signed-off-by: Greg Kroah-Hartman --- drivers/staging/wlan-ng/hfa384x.h | 171 ------------------------------ 1 file changed, 171 deletions(-) diff --git a/drivers/staging/wlan-ng/hfa384x.h b/drivers/staging/wlan-ng/hfa384x.h index 0611e37df6ac..e33dd1b9c40e 100644 --- a/drivers/staging/wlan-ng/hfa384x.h +++ b/drivers/staging/wlan-ng/hfa384x.h @@ -904,40 +904,6 @@ union hfa384x_usbin { *-------------------------------------------------------------------- */ -struct hfa384x_pdr_pcb_partnum { - u8 num[8]; -} __packed; - -struct hfa384x_pdr_pcb_tracenum { - u8 num[8]; -} __packed; - -struct hfa384x_pdr_nic_serial { - u8 num[12]; -} __packed; - -struct hfa384x_pdr_mkk_measurements { - double carrier_freq; - double occupied_band; - double power_density; - double tx_spur_f1; - double tx_spur_f2; - double tx_spur_f3; - double tx_spur_f4; - double tx_spur_l1; - double tx_spur_l2; - double tx_spur_l3; - double tx_spur_l4; - double rx_spur_f1; - double rx_spur_f2; - double rx_spur_l1; - double rx_spur_l2; -} __packed; - -struct hfa384x_pdr_nic_ramsize { - u8 size[12]; /* units of KB */ -} __packed; - struct hfa384x_pdr_mfisuprange { u16 id; u16 variant; @@ -959,150 +925,13 @@ struct hfa384x_pdr_nicid { u16 minor; } __packed; -struct hfa384x_pdr_refdac_measurements { - u16 value[0]; -} __packed; - -struct hfa384x_pdr_vgdac_measurements { - u16 value[0]; -} __packed; - -struct hfa384x_pdr_level_comp_measurements { - u16 value[0]; -} __packed; - -struct hfa384x_pdr_mac_address { - u8 addr[6]; -} __packed; - -struct hfa384x_pdr_mkk_callname { - u8 callname[8]; -} __packed; - -struct hfa384x_pdr_regdomain { - u16 numdomains; - u16 domain[5]; -} __packed; - -struct hfa384x_pdr_allowed_channel { - u16 ch_bitmap; -} __packed; - -struct hfa384x_pdr_default_channel { - u16 channel; -} __packed; - -struct hfa384x_pdr_privacy_option { - u16 available; -} __packed; - -struct hfa384x_pdr_temptype { - u16 type; -} __packed; - -struct hfa384x_pdr_refdac_setup { - u16 ch_value[14]; -} __packed; - -struct hfa384x_pdr_vgdac_setup { - u16 ch_value[14]; -} __packed; - -struct hfa384x_pdr_level_comp_setup { - u16 ch_value[14]; -} __packed; - -struct hfa384x_pdr_trimdac_setup { - u16 trimidac; - u16 trimqdac; -} __packed; - -struct hfa384x_pdr_ifr_setting { - u16 value[3]; -} __packed; - -struct hfa384x_pdr_rfr_setting { - u16 value[3]; -} __packed; - -struct hfa384x_pdr_hfa3861_baseline { - u16 value[50]; -} __packed; - -struct hfa384x_pdr_hfa3861_shadow { - u32 value[32]; -} __packed; - -struct hfa384x_pdr_hfa3861_ifrf { - u32 value[20]; -} __packed; - -struct hfa384x_pdr_hfa3861_chcalsp { - u16 value[14]; -} __packed; - -struct hfa384x_pdr_hfa3861_chcali { - u16 value[17]; -} __packed; - -struct hfa384x_pdr_hfa3861_nic_config { - u16 config_bitmap; -} __packed; - -struct hfa384x_pdr_hfo_delay { - u8 hfo_delay; -} __packed; - -struct hfa384x_pdr_hfa3861_manf_testsp { - u16 value[30]; -} __packed; - -struct hfa384x_pdr_hfa3861_manf_testi { - u16 value[30]; -} __packed; - -struct hfa384x_pdr_end_of_pda { - u16 crc; -} __packed; - struct hfa384x_pdrec { __le16 len; /* in words */ __le16 code; union pdr { - struct hfa384x_pdr_pcb_partnum pcb_partnum; - struct hfa384x_pdr_pcb_tracenum pcb_tracenum; - struct hfa384x_pdr_nic_serial nic_serial; - struct hfa384x_pdr_mkk_measurements mkk_measurements; - struct hfa384x_pdr_nic_ramsize nic_ramsize; struct hfa384x_pdr_mfisuprange mfisuprange; struct hfa384x_pdr_cfisuprange cfisuprange; struct hfa384x_pdr_nicid nicid; - struct hfa384x_pdr_refdac_measurements refdac_measurements; - struct hfa384x_pdr_vgdac_measurements vgdac_measurements; - struct hfa384x_pdr_level_comp_measurements level_compc_measurements; - struct hfa384x_pdr_mac_address mac_address; - struct hfa384x_pdr_mkk_callname mkk_callname; - struct hfa384x_pdr_regdomain regdomain; - struct hfa384x_pdr_allowed_channel allowed_channel; - struct hfa384x_pdr_default_channel default_channel; - struct hfa384x_pdr_privacy_option privacy_option; - struct hfa384x_pdr_temptype temptype; - struct hfa384x_pdr_refdac_setup refdac_setup; - struct hfa384x_pdr_vgdac_setup vgdac_setup; - struct hfa384x_pdr_level_comp_setup level_comp_setup; - struct hfa384x_pdr_trimdac_setup trimdac_setup; - struct hfa384x_pdr_ifr_setting ifr_setting; - struct hfa384x_pdr_rfr_setting rfr_setting; - struct hfa384x_pdr_hfa3861_baseline hfa3861_baseline; - struct hfa384x_pdr_hfa3861_shadow hfa3861_shadow; - struct hfa384x_pdr_hfa3861_ifrf hfa3861_ifrf; - struct hfa384x_pdr_hfa3861_chcalsp hfa3861_chcalsp; - struct hfa384x_pdr_hfa3861_chcali hfa3861_chcali; - struct hfa384x_pdr_hfa3861_nic_config nic_config; - struct hfa384x_pdr_hfo_delay hfo_delay; - struct hfa384x_pdr_hfa3861_manf_testsp hfa3861_manf_testsp; - struct hfa384x_pdr_hfa3861_manf_testi hfa3861_manf_testi; - struct hfa384x_pdr_end_of_pda end_of_pda; } data; } __packed; From 448a586b71fe603a98cd9e335fbe115ea1137f0b Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 18 Jan 2023 20:58:41 +0100 Subject: [PATCH 102/219] staging: rtl8192e: Rename LongRetryL.., ShortRetryL.. and ReceiveConfig Rename variable LongRetryLimit to long_retry_limit, ShortRetryLimit to short_retry_limit and ReceiveConfig to receive_config to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/6e3920f3353ebc6dd1d039f54688fa1966cc431b.1674071236.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 26 +++++++++---------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 ++--- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 9cffe09e429c..b0f33fbffa42 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -127,7 +127,7 @@ void rtl92e_set_reg(struct net_device *dev, u8 variable, u8 *val) Type = val[0]; RegRCR = rtl92e_readl(dev, RCR); - priv->ReceiveConfig = RegRCR; + priv->receive_config = RegRCR; if (Type) RegRCR |= (RCR_CBSSID); @@ -135,7 +135,7 @@ void rtl92e_set_reg(struct net_device *dev, u8 variable, u8 *val) RegRCR &= (~RCR_CBSSID); rtl92e_writel(dev, RCR, RegRCR); - priv->ReceiveConfig = RegRCR; + priv->receive_config = RegRCR; } break; @@ -594,8 +594,8 @@ static void _rtl92e_hwconfig(struct net_device *dev) rtl92e_writel(dev, RRSR, regRRSR); rtl92e_writew(dev, RETRY_LIMIT, - priv->ShortRetryLimit << RETRY_LIMIT_SHORT_SHIFT | - priv->LongRetryLimit << RETRY_LIMIT_LONG_SHIFT); + priv->short_retry_limit << RETRY_LIMIT_SHORT_SHIFT | + priv->long_retry_limit << RETRY_LIMIT_LONG_SHIFT); } bool rtl92e_start_adapter(struct net_device *dev) @@ -670,7 +670,7 @@ bool rtl92e_start_adapter(struct net_device *dev) (MXDMA2_NoLimit<dev_addr)[0]); rtl92e_writew(dev, MAC4, ((u16 *)(dev->dev_addr + 4))[0]); - rtl92e_writel(dev, RCR, priv->ReceiveConfig); + rtl92e_writel(dev, RCR, priv->receive_config); rtl92e_writel(dev, RQPN1, NUM_OF_PAGE_IN_FW_QUEUE_BK << RSVD_FW_QUEUE_PAGE_BK_SHIFT | @@ -860,9 +860,9 @@ void rtl92e_link_change(struct net_device *dev) if (ieee->intel_promiscuous_md_info.promiscuous_on) ; else - priv->ReceiveConfig = reg |= RCR_CBSSID; + priv->receive_config = reg |= RCR_CBSSID; } else - priv->ReceiveConfig = reg &= ~RCR_CBSSID; + priv->receive_config = reg &= ~RCR_CBSSID; rtl92e_writel(dev, RCR, reg); } @@ -874,12 +874,12 @@ void rtl92e_set_monitor_mode(struct net_device *dev, bool bAllowAllDA, struct r8192_priv *priv = rtllib_priv(dev); if (bAllowAllDA) - priv->ReceiveConfig |= RCR_AAP; + priv->receive_config |= RCR_AAP; else - priv->ReceiveConfig &= ~RCR_AAP; + priv->receive_config &= ~RCR_AAP; if (WriteIntoReg) - rtl92e_writel(dev, RCR, priv->ReceiveConfig); + rtl92e_writel(dev, RCR, priv->receive_config); } static u8 _rtl92e_rate_mgn_to_hw(u8 rate) @@ -2010,10 +2010,10 @@ rtl92e_init_variables(struct net_device *dev) priv->rtllib->tx_headroom = sizeof(struct tx_fwinfo_8190pci); - priv->ShortRetryLimit = 0x30; - priv->LongRetryLimit = 0x30; + priv->short_retry_limit = 0x30; + priv->long_retry_limit = 0x30; - priv->ReceiveConfig = RCR_ADD3 | + priv->receive_config = RCR_ADD3 | RCR_AMF | RCR_ADF | RCR_AICV | RCR_AB | RCR_AM | RCR_APM | diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index d86577277844..8de726de57f4 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -362,7 +362,7 @@ struct r8192_priv { u64 LastRxDescTSF; - u32 ReceiveConfig; + u32 receive_config; u8 retry_data; u8 retry_rts; u16 rts; @@ -371,8 +371,8 @@ struct r8192_priv { int txringcount; atomic_t tx_pending[0x10]; - u16 ShortRetryLimit; - u16 LongRetryLimit; + u16 short_retry_limit; + u16 long_retry_limit; bool hw_radio_off; bool blinked_ingpio; From 0dd7c4d8c5fab44fd62cb02fa6c56537a5b74537 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 18 Jan 2023 20:58:51 +0100 Subject: [PATCH 103/219] staging: rtl8192e: Rename LastRxDescTSF, LoopbackMode and pFirmware Rename variable LastRxDescTSF to last_rx_desc_tsf, LoopbackMode to loopback_mode and pFirmware to fw_info to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/d6c77644d5602ad6e5b4889336a1a4700401321d.1674071236.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 14 +++++++------- .../staging/rtl8192e/rtl8192e/r8192E_firmware.c | 4 ++-- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 12 ++++++------ drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index b0f33fbffa42..a0678c6bac72 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -619,16 +619,16 @@ bool rtl92e_start_adapter(struct net_device *dev) rtl92e_writeb(dev, ANAPAR, 0x37); mdelay(500); } - priv->pFirmware->status = FW_STATUS_0_INIT; + priv->fw_info->status = FW_STATUS_0_INIT; ulRegRead = rtl92e_readl(dev, CPU_GEN); - if (priv->pFirmware->status == FW_STATUS_0_INIT) + if (priv->fw_info->status == FW_STATUS_0_INIT) ulRegRead |= CPU_GEN_SYSTEM_RESET; - else if (priv->pFirmware->status == FW_STATUS_5_READY) + else if (priv->fw_info->status == FW_STATUS_5_READY) ulRegRead |= CPU_GEN_FIRMWARE_RESET; else netdev_err(dev, "%s(): undefined firmware state: %d.\n", - __func__, priv->pFirmware->status); + __func__, priv->fw_info->status); rtl92e_writel(dev, CPU_GEN, ulRegRead); @@ -647,13 +647,13 @@ bool rtl92e_start_adapter(struct net_device *dev) return rtStatus; } - priv->LoopbackMode = RTL819X_NO_LOOPBACK; + priv->loopback_mode = RTL819X_NO_LOOPBACK; if (priv->rst_progress == RESET_TYPE_NORESET) { ulRegRead = rtl92e_readl(dev, CPU_GEN); - if (priv->LoopbackMode == RTL819X_NO_LOOPBACK) + if (priv->loopback_mode == RTL819X_NO_LOOPBACK) ulRegRead = (ulRegRead & CPU_GEN_NO_LOOPBACK_MSK) | CPU_GEN_NO_LOOPBACK_SET; - else if (priv->LoopbackMode == RTL819X_MAC_LOOPBACK) + else if (priv->loopback_mode == RTL819X_MAC_LOOPBACK) ulRegRead |= CPU_CCK_LOOPBACK; else netdev_err(dev, "%s: Invalid loopback mode setting.\n", diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c index 789d288d7503..b011ec8c8a41 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c @@ -51,7 +51,7 @@ static bool _rtl92e_fw_check_ready(struct net_device *dev, u8 load_fw_status) { struct r8192_priv *priv = rtllib_priv(dev); - struct rt_firmware *pfirmware = priv->pFirmware; + struct rt_firmware *pfirmware = priv->fw_info; bool rt_status = true; switch (load_fw_status) { @@ -134,7 +134,7 @@ bool rtl92e_init_fw(struct net_device *dev) enum opt_rst_type rst_opt = OPT_SYSTEM_RESET; enum firmware_init_step starting_state = FW_INIT_STEP0_BOOT; - struct rt_firmware *pfirmware = priv->pFirmware; + struct rt_firmware *pfirmware = priv->fw_info; netdev_dbg(dev, " PlatformInitFirmware()==>\n"); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 8e1180b75d38..7a89381bae50 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -891,8 +891,8 @@ static void _rtl92e_init_priv_variable(struct net_device *dev) priv->card_type = PCI; - priv->pFirmware = vzalloc(sizeof(struct rt_firmware)); - if (!priv->pFirmware) + priv->fw_info = vzalloc(sizeof(struct rt_firmware)); + if (!priv->fw_info) netdev_err(dev, "rtl8192e: Unable to allocate space for firmware\n"); @@ -1807,9 +1807,9 @@ void rtl92e_update_rx_pkt_timestamp(struct net_device *dev, struct r8192_priv *priv = rtllib_priv(dev); if (stats->bIsAMPDU && !stats->bFirstMPDU) - stats->mac_time = priv->LastRxDescTSF; + stats->mac_time = priv->last_rx_desc_tsf; else - priv->LastRxDescTSF = stats->mac_time; + priv->last_rx_desc_tsf = stats->mac_time; } long rtl92e_translate_to_dbm(struct r8192_priv *priv, u8 signal_strength_index) @@ -2386,8 +2386,8 @@ static void _rtl92e_pci_disconnect(struct pci_dev *pdev) priv->polling_timer_on = 0; _rtl92e_down(dev, true); rtl92e_dm_deinit(dev); - vfree(priv->pFirmware); - priv->pFirmware = NULL; + vfree(priv->fw_info); + priv->fw_info = NULL; _rtl92e_free_rx_ring(dev); for (i = 0; i < MAX_TX_QUEUE_COUNT; i++) _rtl92e_free_tx_ring(dev, i); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 8de726de57f4..da10835a987e 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -325,8 +325,8 @@ struct r8192_priv { struct bb_reg_definition PHYRegDef[4]; struct rate_adaptive rate_adaptive; - struct rt_firmware *pFirmware; - enum rtl819x_loopback LoopbackMode; + struct rt_firmware *fw_info; + enum rtl819x_loopback loopback_mode; struct timer_list watch_dog_timer; struct timer_list fsync_timer; @@ -360,7 +360,7 @@ struct r8192_priv { int rxringcount; u16 rxbuffersize; - u64 LastRxDescTSF; + u64 last_rx_desc_tsf; u32 receive_config; u8 retry_data; From 779c9e938d824dcd6489bc1064a3a58d66d918bc Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 18 Jan 2023 20:59:03 +0100 Subject: [PATCH 104/219] staging: rtl8192e: Rename PHYRegDef, CurrentChannelBW and CustomerID Rename variable PHYRegDef to phy_reg_def, CurrentChannelBW to current_chnl_bw and CustomerID to customer_id to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/d609d1edfaa500a9512c2e3c950efc2e2a266a70.1674071236.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../rtl8192e/rtl8192e/r8190P_rtl8256.c | 4 +- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 28 ++-- .../staging/rtl8192e/rtl8192e/r8192E_phy.c | 156 +++++++++--------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 36 ++-- 5 files changed, 115 insertions(+), 115 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c index 2c1a4392aeff..9ea281808128 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c @@ -70,7 +70,7 @@ bool rtl92e_config_rf(struct net_device *dev) if (!rtl92e_is_legal_rf_path(dev, eRFPath)) continue; - pPhyReg = &priv->PHYRegDef[eRFPath]; + pPhyReg = &priv->phy_reg_def[eRFPath]; switch (eRFPath) { case RF90_PATH_A: @@ -151,7 +151,7 @@ void rtl92e_set_cck_tx_power(struct net_device *dev, u8 powerlevel) TxAGC = powerlevel; if (priv->dynamic_tx_low_pwr) { - if (priv->CustomerID == RT_CID_819x_Netcore) + if (priv->customer_id == RT_CID_819x_Netcore) TxAGC = 0x22; else TxAGC += priv->cck_pwr_enl; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index a0678c6bac72..fe985f4b8dbb 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -478,36 +478,36 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->chnl_plan = priv->reg_chnl_plan; if (priv->eeprom_vid == 0x1186 && priv->eeprom_did == 0x3304) - priv->CustomerID = RT_CID_DLINK; + priv->customer_id = RT_CID_DLINK; switch (priv->eeprom_CustomerID) { case EEPROM_CID_DEFAULT: - priv->CustomerID = RT_CID_DEFAULT; + priv->customer_id = RT_CID_DEFAULT; break; case EEPROM_CID_CAMEO: - priv->CustomerID = RT_CID_819x_CAMEO; + priv->customer_id = RT_CID_819x_CAMEO; break; case EEPROM_CID_RUNTOP: - priv->CustomerID = RT_CID_819x_RUNTOP; + priv->customer_id = RT_CID_819x_RUNTOP; break; case EEPROM_CID_NetCore: - priv->CustomerID = RT_CID_819x_Netcore; + priv->customer_id = RT_CID_819x_Netcore; break; case EEPROM_CID_TOSHIBA: - priv->CustomerID = RT_CID_TOSHIBA; + priv->customer_id = RT_CID_TOSHIBA; if (priv->eeprom_chnl_plan & 0x80) priv->chnl_plan = priv->eeprom_chnl_plan & 0x7f; else priv->chnl_plan = 0x0; break; case EEPROM_CID_Nettronix: - priv->CustomerID = RT_CID_Nettronix; + priv->customer_id = RT_CID_Nettronix; break; case EEPROM_CID_Pronet: - priv->CustomerID = RT_CID_PRONET; + priv->customer_id = RT_CID_PRONET; break; case EEPROM_CID_DLINK: - priv->CustomerID = RT_CID_DLINK; + priv->customer_id = RT_CID_DLINK; break; case EEPROM_CID_WHQL: @@ -1068,7 +1068,7 @@ void rtl92e_fill_tx_desc(struct net_device *dev, struct tx_desc *pdesc, pTxFwInfo->RtsShort = (pTxFwInfo->RtsHT == 0) ? (cb_desc->bRTSUseShortPreamble ? 1 : 0) : (cb_desc->bRTSUseShortGI ? 1 : 0); - if (priv->CurrentChannelBW == HT_CHANNEL_WIDTH_20_40) { + if (priv->current_chnl_bw == HT_CHANNEL_WIDTH_20_40) { if (cb_desc->bPacketBW) { pTxFwInfo->TxBandwidth = 1; pTxFwInfo->TxSubCarrier = 0; @@ -2101,16 +2101,16 @@ bool rtl92e_is_rx_stuck(struct net_device *dev) if (priv->undecorated_smoothed_pwdb >= (RateAdaptiveTH_High+5)) { rx_chk_cnt = 0; } else if ((priv->undecorated_smoothed_pwdb < (RateAdaptiveTH_High + 5)) - && (((priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) && + && (((priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) && (priv->undecorated_smoothed_pwdb >= RateAdaptiveTH_Low_40M)) - || ((priv->CurrentChannelBW == HT_CHANNEL_WIDTH_20) && + || ((priv->current_chnl_bw == HT_CHANNEL_WIDTH_20) && (priv->undecorated_smoothed_pwdb >= RateAdaptiveTH_Low_20M)))) { if (rx_chk_cnt < 2) return bStuck; rx_chk_cnt = 0; - } else if ((((priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) && + } else if ((((priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) && (priv->undecorated_smoothed_pwdb < RateAdaptiveTH_Low_40M)) || - ((priv->CurrentChannelBW == HT_CHANNEL_WIDTH_20) && + ((priv->current_chnl_bw == HT_CHANNEL_WIDTH_20) && (priv->undecorated_smoothed_pwdb < RateAdaptiveTH_Low_20M))) && priv->undecorated_smoothed_pwdb >= VeryLowRSSI) { if (rx_chk_cnt < 4) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 97e859425784..f7865d0c787a 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -94,7 +94,7 @@ static u32 _rtl92e_phy_rf_read(struct net_device *dev, struct r8192_priv *priv = rtllib_priv(dev); u32 ret = 0; u32 NewOffset = 0; - struct bb_reg_definition *pPhyReg = &priv->PHYRegDef[eRFPath]; + struct bb_reg_definition *pPhyReg = &priv->phy_reg_def[eRFPath]; Offset &= 0x3f; @@ -149,7 +149,7 @@ static void _rtl92e_phy_rf_write(struct net_device *dev, { struct r8192_priv *priv = rtllib_priv(dev); u32 DataAndAddr = 0, NewOffset = 0; - struct bb_reg_definition *pPhyReg = &priv->PHYRegDef[eRFPath]; + struct bb_reg_definition *pPhyReg = &priv->phy_reg_def[eRFPath]; Offset &= 0x3f; if (priv->rf_chip == RF_8256) { @@ -361,90 +361,90 @@ static void _rtl92e_init_bb_rf_reg_def(struct net_device *dev) { struct r8192_priv *priv = rtllib_priv(dev); - priv->PHYRegDef[RF90_PATH_A].rfintfs = rFPGA0_XAB_RFInterfaceSW; - priv->PHYRegDef[RF90_PATH_B].rfintfs = rFPGA0_XAB_RFInterfaceSW; - priv->PHYRegDef[RF90_PATH_C].rfintfs = rFPGA0_XCD_RFInterfaceSW; - priv->PHYRegDef[RF90_PATH_D].rfintfs = rFPGA0_XCD_RFInterfaceSW; + priv->phy_reg_def[RF90_PATH_A].rfintfs = rFPGA0_XAB_RFInterfaceSW; + priv->phy_reg_def[RF90_PATH_B].rfintfs = rFPGA0_XAB_RFInterfaceSW; + priv->phy_reg_def[RF90_PATH_C].rfintfs = rFPGA0_XCD_RFInterfaceSW; + priv->phy_reg_def[RF90_PATH_D].rfintfs = rFPGA0_XCD_RFInterfaceSW; - priv->PHYRegDef[RF90_PATH_A].rfintfi = rFPGA0_XAB_RFInterfaceRB; - priv->PHYRegDef[RF90_PATH_B].rfintfi = rFPGA0_XAB_RFInterfaceRB; - priv->PHYRegDef[RF90_PATH_C].rfintfi = rFPGA0_XCD_RFInterfaceRB; - priv->PHYRegDef[RF90_PATH_D].rfintfi = rFPGA0_XCD_RFInterfaceRB; + priv->phy_reg_def[RF90_PATH_A].rfintfi = rFPGA0_XAB_RFInterfaceRB; + priv->phy_reg_def[RF90_PATH_B].rfintfi = rFPGA0_XAB_RFInterfaceRB; + priv->phy_reg_def[RF90_PATH_C].rfintfi = rFPGA0_XCD_RFInterfaceRB; + priv->phy_reg_def[RF90_PATH_D].rfintfi = rFPGA0_XCD_RFInterfaceRB; - priv->PHYRegDef[RF90_PATH_A].rfintfo = rFPGA0_XA_RFInterfaceOE; - priv->PHYRegDef[RF90_PATH_B].rfintfo = rFPGA0_XB_RFInterfaceOE; - priv->PHYRegDef[RF90_PATH_C].rfintfo = rFPGA0_XC_RFInterfaceOE; - priv->PHYRegDef[RF90_PATH_D].rfintfo = rFPGA0_XD_RFInterfaceOE; + priv->phy_reg_def[RF90_PATH_A].rfintfo = rFPGA0_XA_RFInterfaceOE; + priv->phy_reg_def[RF90_PATH_B].rfintfo = rFPGA0_XB_RFInterfaceOE; + priv->phy_reg_def[RF90_PATH_C].rfintfo = rFPGA0_XC_RFInterfaceOE; + priv->phy_reg_def[RF90_PATH_D].rfintfo = rFPGA0_XD_RFInterfaceOE; - priv->PHYRegDef[RF90_PATH_A].rfintfe = rFPGA0_XA_RFInterfaceOE; - priv->PHYRegDef[RF90_PATH_B].rfintfe = rFPGA0_XB_RFInterfaceOE; - priv->PHYRegDef[RF90_PATH_C].rfintfe = rFPGA0_XC_RFInterfaceOE; - priv->PHYRegDef[RF90_PATH_D].rfintfe = rFPGA0_XD_RFInterfaceOE; + priv->phy_reg_def[RF90_PATH_A].rfintfe = rFPGA0_XA_RFInterfaceOE; + priv->phy_reg_def[RF90_PATH_B].rfintfe = rFPGA0_XB_RFInterfaceOE; + priv->phy_reg_def[RF90_PATH_C].rfintfe = rFPGA0_XC_RFInterfaceOE; + priv->phy_reg_def[RF90_PATH_D].rfintfe = rFPGA0_XD_RFInterfaceOE; - priv->PHYRegDef[RF90_PATH_A].rf3wireOffset = rFPGA0_XA_LSSIParameter; - priv->PHYRegDef[RF90_PATH_B].rf3wireOffset = rFPGA0_XB_LSSIParameter; - priv->PHYRegDef[RF90_PATH_C].rf3wireOffset = rFPGA0_XC_LSSIParameter; - priv->PHYRegDef[RF90_PATH_D].rf3wireOffset = rFPGA0_XD_LSSIParameter; + priv->phy_reg_def[RF90_PATH_A].rf3wireOffset = rFPGA0_XA_LSSIParameter; + priv->phy_reg_def[RF90_PATH_B].rf3wireOffset = rFPGA0_XB_LSSIParameter; + priv->phy_reg_def[RF90_PATH_C].rf3wireOffset = rFPGA0_XC_LSSIParameter; + priv->phy_reg_def[RF90_PATH_D].rf3wireOffset = rFPGA0_XD_LSSIParameter; - priv->PHYRegDef[RF90_PATH_A].rfLSSI_Select = rFPGA0_XAB_RFParameter; - priv->PHYRegDef[RF90_PATH_B].rfLSSI_Select = rFPGA0_XAB_RFParameter; - priv->PHYRegDef[RF90_PATH_C].rfLSSI_Select = rFPGA0_XCD_RFParameter; - priv->PHYRegDef[RF90_PATH_D].rfLSSI_Select = rFPGA0_XCD_RFParameter; + priv->phy_reg_def[RF90_PATH_A].rfLSSI_Select = rFPGA0_XAB_RFParameter; + priv->phy_reg_def[RF90_PATH_B].rfLSSI_Select = rFPGA0_XAB_RFParameter; + priv->phy_reg_def[RF90_PATH_C].rfLSSI_Select = rFPGA0_XCD_RFParameter; + priv->phy_reg_def[RF90_PATH_D].rfLSSI_Select = rFPGA0_XCD_RFParameter; - priv->PHYRegDef[RF90_PATH_A].rfTxGainStage = rFPGA0_TxGainStage; - priv->PHYRegDef[RF90_PATH_B].rfTxGainStage = rFPGA0_TxGainStage; - priv->PHYRegDef[RF90_PATH_C].rfTxGainStage = rFPGA0_TxGainStage; - priv->PHYRegDef[RF90_PATH_D].rfTxGainStage = rFPGA0_TxGainStage; + priv->phy_reg_def[RF90_PATH_A].rfTxGainStage = rFPGA0_TxGainStage; + priv->phy_reg_def[RF90_PATH_B].rfTxGainStage = rFPGA0_TxGainStage; + priv->phy_reg_def[RF90_PATH_C].rfTxGainStage = rFPGA0_TxGainStage; + priv->phy_reg_def[RF90_PATH_D].rfTxGainStage = rFPGA0_TxGainStage; - priv->PHYRegDef[RF90_PATH_A].rfHSSIPara1 = rFPGA0_XA_HSSIParameter1; - priv->PHYRegDef[RF90_PATH_B].rfHSSIPara1 = rFPGA0_XB_HSSIParameter1; - priv->PHYRegDef[RF90_PATH_C].rfHSSIPara1 = rFPGA0_XC_HSSIParameter1; - priv->PHYRegDef[RF90_PATH_D].rfHSSIPara1 = rFPGA0_XD_HSSIParameter1; + priv->phy_reg_def[RF90_PATH_A].rfHSSIPara1 = rFPGA0_XA_HSSIParameter1; + priv->phy_reg_def[RF90_PATH_B].rfHSSIPara1 = rFPGA0_XB_HSSIParameter1; + priv->phy_reg_def[RF90_PATH_C].rfHSSIPara1 = rFPGA0_XC_HSSIParameter1; + priv->phy_reg_def[RF90_PATH_D].rfHSSIPara1 = rFPGA0_XD_HSSIParameter1; - priv->PHYRegDef[RF90_PATH_A].rfHSSIPara2 = rFPGA0_XA_HSSIParameter2; - priv->PHYRegDef[RF90_PATH_B].rfHSSIPara2 = rFPGA0_XB_HSSIParameter2; - priv->PHYRegDef[RF90_PATH_C].rfHSSIPara2 = rFPGA0_XC_HSSIParameter2; - priv->PHYRegDef[RF90_PATH_D].rfHSSIPara2 = rFPGA0_XD_HSSIParameter2; + priv->phy_reg_def[RF90_PATH_A].rfHSSIPara2 = rFPGA0_XA_HSSIParameter2; + priv->phy_reg_def[RF90_PATH_B].rfHSSIPara2 = rFPGA0_XB_HSSIParameter2; + priv->phy_reg_def[RF90_PATH_C].rfHSSIPara2 = rFPGA0_XC_HSSIParameter2; + priv->phy_reg_def[RF90_PATH_D].rfHSSIPara2 = rFPGA0_XD_HSSIParameter2; - priv->PHYRegDef[RF90_PATH_A].rfSwitchControl = rFPGA0_XAB_SwitchControl; - priv->PHYRegDef[RF90_PATH_B].rfSwitchControl = rFPGA0_XAB_SwitchControl; - priv->PHYRegDef[RF90_PATH_C].rfSwitchControl = rFPGA0_XCD_SwitchControl; - priv->PHYRegDef[RF90_PATH_D].rfSwitchControl = rFPGA0_XCD_SwitchControl; + priv->phy_reg_def[RF90_PATH_A].rfSwitchControl = rFPGA0_XAB_SwitchControl; + priv->phy_reg_def[RF90_PATH_B].rfSwitchControl = rFPGA0_XAB_SwitchControl; + priv->phy_reg_def[RF90_PATH_C].rfSwitchControl = rFPGA0_XCD_SwitchControl; + priv->phy_reg_def[RF90_PATH_D].rfSwitchControl = rFPGA0_XCD_SwitchControl; - priv->PHYRegDef[RF90_PATH_A].rfAGCControl1 = rOFDM0_XAAGCCore1; - priv->PHYRegDef[RF90_PATH_B].rfAGCControl1 = rOFDM0_XBAGCCore1; - priv->PHYRegDef[RF90_PATH_C].rfAGCControl1 = rOFDM0_XCAGCCore1; - priv->PHYRegDef[RF90_PATH_D].rfAGCControl1 = rOFDM0_XDAGCCore1; + priv->phy_reg_def[RF90_PATH_A].rfAGCControl1 = rOFDM0_XAAGCCore1; + priv->phy_reg_def[RF90_PATH_B].rfAGCControl1 = rOFDM0_XBAGCCore1; + priv->phy_reg_def[RF90_PATH_C].rfAGCControl1 = rOFDM0_XCAGCCore1; + priv->phy_reg_def[RF90_PATH_D].rfAGCControl1 = rOFDM0_XDAGCCore1; - priv->PHYRegDef[RF90_PATH_A].rfAGCControl2 = rOFDM0_XAAGCCore2; - priv->PHYRegDef[RF90_PATH_B].rfAGCControl2 = rOFDM0_XBAGCCore2; - priv->PHYRegDef[RF90_PATH_C].rfAGCControl2 = rOFDM0_XCAGCCore2; - priv->PHYRegDef[RF90_PATH_D].rfAGCControl2 = rOFDM0_XDAGCCore2; + priv->phy_reg_def[RF90_PATH_A].rfAGCControl2 = rOFDM0_XAAGCCore2; + priv->phy_reg_def[RF90_PATH_B].rfAGCControl2 = rOFDM0_XBAGCCore2; + priv->phy_reg_def[RF90_PATH_C].rfAGCControl2 = rOFDM0_XCAGCCore2; + priv->phy_reg_def[RF90_PATH_D].rfAGCControl2 = rOFDM0_XDAGCCore2; - priv->PHYRegDef[RF90_PATH_A].rfRxIQImbalance = rOFDM0_XARxIQImbalance; - priv->PHYRegDef[RF90_PATH_B].rfRxIQImbalance = rOFDM0_XBRxIQImbalance; - priv->PHYRegDef[RF90_PATH_C].rfRxIQImbalance = rOFDM0_XCRxIQImbalance; - priv->PHYRegDef[RF90_PATH_D].rfRxIQImbalance = rOFDM0_XDRxIQImbalance; + priv->phy_reg_def[RF90_PATH_A].rfRxIQImbalance = rOFDM0_XARxIQImbalance; + priv->phy_reg_def[RF90_PATH_B].rfRxIQImbalance = rOFDM0_XBRxIQImbalance; + priv->phy_reg_def[RF90_PATH_C].rfRxIQImbalance = rOFDM0_XCRxIQImbalance; + priv->phy_reg_def[RF90_PATH_D].rfRxIQImbalance = rOFDM0_XDRxIQImbalance; - priv->PHYRegDef[RF90_PATH_A].rfRxAFE = rOFDM0_XARxAFE; - priv->PHYRegDef[RF90_PATH_B].rfRxAFE = rOFDM0_XBRxAFE; - priv->PHYRegDef[RF90_PATH_C].rfRxAFE = rOFDM0_XCRxAFE; - priv->PHYRegDef[RF90_PATH_D].rfRxAFE = rOFDM0_XDRxAFE; + priv->phy_reg_def[RF90_PATH_A].rfRxAFE = rOFDM0_XARxAFE; + priv->phy_reg_def[RF90_PATH_B].rfRxAFE = rOFDM0_XBRxAFE; + priv->phy_reg_def[RF90_PATH_C].rfRxAFE = rOFDM0_XCRxAFE; + priv->phy_reg_def[RF90_PATH_D].rfRxAFE = rOFDM0_XDRxAFE; - priv->PHYRegDef[RF90_PATH_A].rfTxIQImbalance = rOFDM0_XATxIQImbalance; - priv->PHYRegDef[RF90_PATH_B].rfTxIQImbalance = rOFDM0_XBTxIQImbalance; - priv->PHYRegDef[RF90_PATH_C].rfTxIQImbalance = rOFDM0_XCTxIQImbalance; - priv->PHYRegDef[RF90_PATH_D].rfTxIQImbalance = rOFDM0_XDTxIQImbalance; + priv->phy_reg_def[RF90_PATH_A].rfTxIQImbalance = rOFDM0_XATxIQImbalance; + priv->phy_reg_def[RF90_PATH_B].rfTxIQImbalance = rOFDM0_XBTxIQImbalance; + priv->phy_reg_def[RF90_PATH_C].rfTxIQImbalance = rOFDM0_XCTxIQImbalance; + priv->phy_reg_def[RF90_PATH_D].rfTxIQImbalance = rOFDM0_XDTxIQImbalance; - priv->PHYRegDef[RF90_PATH_A].rfTxAFE = rOFDM0_XATxAFE; - priv->PHYRegDef[RF90_PATH_B].rfTxAFE = rOFDM0_XBTxAFE; - priv->PHYRegDef[RF90_PATH_C].rfTxAFE = rOFDM0_XCTxAFE; - priv->PHYRegDef[RF90_PATH_D].rfTxAFE = rOFDM0_XDTxAFE; + priv->phy_reg_def[RF90_PATH_A].rfTxAFE = rOFDM0_XATxAFE; + priv->phy_reg_def[RF90_PATH_B].rfTxAFE = rOFDM0_XBTxAFE; + priv->phy_reg_def[RF90_PATH_C].rfTxAFE = rOFDM0_XCTxAFE; + priv->phy_reg_def[RF90_PATH_D].rfTxAFE = rOFDM0_XDTxAFE; - priv->PHYRegDef[RF90_PATH_A].rfLSSIReadBack = rFPGA0_XA_LSSIReadBack; - priv->PHYRegDef[RF90_PATH_B].rfLSSIReadBack = rFPGA0_XB_LSSIReadBack; - priv->PHYRegDef[RF90_PATH_C].rfLSSIReadBack = rFPGA0_XC_LSSIReadBack; - priv->PHYRegDef[RF90_PATH_D].rfLSSIReadBack = rFPGA0_XD_LSSIReadBack; + priv->phy_reg_def[RF90_PATH_A].rfLSSIReadBack = rFPGA0_XA_LSSIReadBack; + priv->phy_reg_def[RF90_PATH_B].rfLSSIReadBack = rFPGA0_XB_LSSIReadBack; + priv->phy_reg_def[RF90_PATH_C].rfLSSIReadBack = rFPGA0_XC_LSSIReadBack; + priv->phy_reg_def[RF90_PATH_D].rfLSSIReadBack = rFPGA0_XD_LSSIReadBack; } @@ -1006,7 +1006,7 @@ static void _rtl92e_cck_tx_power_track_bw_switch_tssi(struct net_device *dev) { struct r8192_priv *priv = rtllib_priv(dev); - switch (priv->CurrentChannelBW) { + switch (priv->current_chnl_bw) { case HT_CHANNEL_WIDTH_20: priv->cck_present_attn = priv->cck_present_attn_20m_def + @@ -1070,7 +1070,7 @@ static void _rtl92e_cck_tx_power_track_bw_switch_thermal(struct net_device *dev) priv->bcck_in_ch14) priv->bcck_in_ch14 = false; - switch (priv->CurrentChannelBW) { + switch (priv->current_chnl_bw) { case HT_CHANNEL_WIDTH_20: if (priv->rec_cck_20m_idx == 0) priv->rec_cck_20m_idx = 6; @@ -1110,7 +1110,7 @@ static void _rtl92e_set_bw_mode_work_item(struct net_device *dev) } regBwOpMode = rtl92e_readb(dev, BW_OPMODE); - switch (priv->CurrentChannelBW) { + switch (priv->current_chnl_bw) { case HT_CHANNEL_WIDTH_20: regBwOpMode |= BW_OPMODE_20MHZ; rtl92e_writeb(dev, BW_OPMODE, regBwOpMode); @@ -1123,11 +1123,11 @@ static void _rtl92e_set_bw_mode_work_item(struct net_device *dev) default: netdev_err(dev, "%s(): unknown Bandwidth: %#X\n", __func__, - priv->CurrentChannelBW); + priv->current_chnl_bw); break; } - switch (priv->CurrentChannelBW) { + switch (priv->current_chnl_bw) { case HT_CHANNEL_WIDTH_20: rtl92e_set_bb_reg(dev, rFPGA0_RFMOD, bRFMOD, 0x0); rtl92e_set_bb_reg(dev, rFPGA1_RFMOD, bRFMOD, 0x0); @@ -1164,7 +1164,7 @@ static void _rtl92e_set_bw_mode_work_item(struct net_device *dev) break; default: netdev_err(dev, "%s(): unknown Bandwidth: %#X\n", __func__, - priv->CurrentChannelBW); + priv->current_chnl_bw); break; } @@ -1174,7 +1174,7 @@ static void _rtl92e_set_bw_mode_work_item(struct net_device *dev) break; case RF_8256: - rtl92e_set_bandwidth(dev, priv->CurrentChannelBW); + rtl92e_set_bandwidth(dev, priv->current_chnl_bw); break; case RF_8258: @@ -1205,7 +1205,7 @@ void rtl92e_set_bw_mode(struct net_device *dev, enum ht_channel_width bandwidth, atomic_inc(&(priv->rtllib->atm_swbw)); priv->set_bw_mode_in_progress = true; - priv->CurrentChannelBW = bandwidth; + priv->current_chnl_bw = bandwidth; if (Offset == HT_EXTCHNL_OFFSET_LOWER) priv->n_cur_40mhz_prime_sc = HAL_PRIME_CHNL_OFFSET_UPPER; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index da10835a987e..cbafbecb5ca5 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -317,12 +317,12 @@ struct r8192_priv { struct work_struct reset_wq; - enum rt_customer_id CustomerID; + enum rt_customer_id customer_id; enum rt_rf_type_819xu rf_chip; - enum ht_channel_width CurrentChannelBW; - struct bb_reg_definition PHYRegDef[4]; + enum ht_channel_width current_chnl_bw; + struct bb_reg_definition phy_reg_def[4]; struct rate_adaptive rate_adaptive; struct rt_firmware *fw_info; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 63be5f2872c6..cb55b6645674 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -292,7 +292,7 @@ void rtl92e_init_adaptive_rate(struct net_device *dev) pra->low_rssi_thresh_for_ra20M = RateAdaptiveTH_Low_20M; pra->low_rssi_thresh_for_ra40M = RateAdaptiveTH_Low_40M; - if (priv->CustomerID == RT_CID_819x_Netcore) + if (priv->customer_id == RT_CID_819x_Netcore) pra->ping_rssi_enable = 1; else pra->ping_rssi_enable = 0; @@ -353,7 +353,7 @@ static void _rtl92e_dm_check_rate_adaptive(struct net_device *dev) (pra->middle_rssi_threshold_ratr & (~BIT31)) | ((bshort_gi_enabled) ? BIT31 : 0); - if (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) { + if (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) { pra->low_rssi_threshold_ratr = (pra->low_rssi_threshold_ratr_40M & (~BIT31)) | ((bshort_gi_enabled) ? BIT31 : 0); @@ -368,15 +368,15 @@ static void _rtl92e_dm_check_rate_adaptive(struct net_device *dev) if (pra->ratr_state == DM_RATR_STA_HIGH) { HighRSSIThreshForRA = pra->high2low_rssi_thresh_for_ra; - LowRSSIThreshForRA = (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) ? + LowRSSIThreshForRA = (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) ? (pra->low_rssi_thresh_for_ra40M) : (pra->low_rssi_thresh_for_ra20M); } else if (pra->ratr_state == DM_RATR_STA_LOW) { HighRSSIThreshForRA = pra->high_rssi_thresh_for_ra; - LowRSSIThreshForRA = (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) ? + LowRSSIThreshForRA = (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) ? (pra->low2high_rssi_thresh_for_ra40M) : (pra->low2high_rssi_thresh_for_ra20M); } else { HighRSSIThreshForRA = pra->high_rssi_thresh_for_ra; - LowRSSIThreshForRA = (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) ? + LowRSSIThreshForRA = (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) ? (pra->low_rssi_thresh_for_ra40M) : (pra->low_rssi_thresh_for_ra20M); } @@ -443,8 +443,8 @@ static void _rtl92e_dm_bandwidth_autoswitch(struct net_device *dev) { struct r8192_priv *priv = rtllib_priv(dev); - if (priv->CurrentChannelBW == HT_CHANNEL_WIDTH_20 || - !priv->rtllib->bandwidth_auto_switch.bautoswitch_enable) + if (priv->current_chnl_bw == HT_CHANNEL_WIDTH_20 || + !priv->rtllib->bandwidth_auto_switch.bautoswitch_enable) return; if (!priv->rtllib->bandwidth_auto_switch.bforced_tx20Mhz) { if (priv->undecorated_smoothed_pwdb <= @@ -715,7 +715,7 @@ static void _rtl92e_dm_tx_power_tracking_callback_tssi(struct net_device *dev) = priv->rfa_txpowertrackingindex_real - priv->rfa_txpowertracking_default; } - if (priv->CurrentChannelBW == HT_CHANNEL_WIDTH_20) + if (priv->current_chnl_bw == HT_CHANNEL_WIDTH_20) priv->cck_present_attn = priv->cck_present_attn_20m_def + priv->cck_present_attn_diff; @@ -818,7 +818,7 @@ static void _rtl92e_dm_tx_power_tracking_cb_thermal(struct net_device *dev) } tmpCCK40Mindex = 0; } - if (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) + if (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) tmpCCKindex = tmpCCK40Mindex; else tmpCCKindex = tmpCCK20Mindex; @@ -1150,7 +1150,7 @@ static void _rtl92e_dm_dig_init(struct net_device *dev) dm_digtable.rssi_val = 50; dm_digtable.backoff_val = DM_DIG_BACKOFF; dm_digtable.rx_gain_range_max = DM_DIG_MAX; - if (priv->CustomerID == RT_CID_819x_Netcore) + if (priv->customer_id == RT_CID_819x_Netcore) dm_digtable.rx_gain_range_min = DM_DIG_MIN_Netcore; else dm_digtable.rx_gain_range_min = DM_DIG_MIN; @@ -1260,7 +1260,7 @@ static void _rtl92e_dm_ctrl_initgain_byrssi_false_alarm(struct net_device *dev) rtl92e_writeb(dev, rOFDM0_XCAGCCore1, 0x17); rtl92e_writeb(dev, rOFDM0_XDAGCCore1, 0x17); - if (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) + if (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) rtl92e_writeb(dev, (rOFDM0_XATxAFE+3), 0x00); else rtl92e_writeb(dev, rOFDM0_RxDetector1, 0x42); @@ -1297,7 +1297,7 @@ static void _rtl92e_dm_ctrl_initgain_byrssi_false_alarm(struct net_device *dev) rtl92e_writeb(dev, rOFDM0_XDAGCCore1, 0x20); } - if (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) + if (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) rtl92e_writeb(dev, (rOFDM0_XATxAFE+3), 0x20); else rtl92e_writeb(dev, rOFDM0_RxDetector1, 0x44); @@ -1328,7 +1328,7 @@ static void _rtl92e_dm_ctrl_initgain_byrssi_highpwr(struct net_device *dev) return; dm_digtable.dig_highpwr_state = DM_STA_DIG_ON; - if (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) + if (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) rtl92e_writeb(dev, (rOFDM0_XATxAFE+3), 0x10); else rtl92e_writeb(dev, rOFDM0_RxDetector1, 0x43); @@ -1342,7 +1342,7 @@ static void _rtl92e_dm_ctrl_initgain_byrssi_highpwr(struct net_device *dev) dm_digtable.rssi_high_power_lowthresh) && (priv->undecorated_smoothed_pwdb >= dm_digtable.rssi_high_thresh)) { - if (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) + if (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) rtl92e_writeb(dev, (rOFDM0_XATxAFE+3), 0x20); else rtl92e_writeb(dev, rOFDM0_RxDetector1, 0x44); @@ -1453,18 +1453,18 @@ static void _rtl92e_dm_pd_th(struct net_device *dev) if ((dm_digtable.prepd_thstate != dm_digtable.curpd_thstate) || (initialized <= 3) || force_write) { if (dm_digtable.curpd_thstate == DIG_PD_AT_LOW_POWER) { - if (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) + if (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) rtl92e_writeb(dev, (rOFDM0_XATxAFE+3), 0x00); else rtl92e_writeb(dev, rOFDM0_RxDetector1, 0x42); } else if (dm_digtable.curpd_thstate == DIG_PD_AT_NORMAL_POWER) { - if (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) + if (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) rtl92e_writeb(dev, (rOFDM0_XATxAFE+3), 0x20); else rtl92e_writeb(dev, rOFDM0_RxDetector1, 0x44); } else if (dm_digtable.curpd_thstate == DIG_PD_AT_HIGH_POWER) { - if (priv->CurrentChannelBW != HT_CHANNEL_WIDTH_20) + if (priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) rtl92e_writeb(dev, (rOFDM0_XATxAFE+3), 0x10); else rtl92e_writeb(dev, rOFDM0_RxDetector1, 0x43); @@ -1736,7 +1736,7 @@ static void _rtl92e_dm_init_rx_path_selection(struct net_device *dev) DM_RxPathSelTable.Enable = 1; DM_RxPathSelTable.SS_TH_low = RxPathSelection_SS_TH_low; DM_RxPathSelTable.diff_TH = RxPathSelection_diff_TH; - if (priv->CustomerID == RT_CID_819x_Netcore) + if (priv->customer_id == RT_CID_819x_Netcore) DM_RxPathSelTable.cck_method = CCK_Rx_Version_2; else DM_RxPathSelTable.cck_method = CCK_Rx_Version_1; From f48cc55bf37d2dcf5a9061ff6d644e56b45b458c Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 18 Jan 2023 20:59:13 +0100 Subject: [PATCH 105/219] staging: rtl8192e: Remove unused variable SifsTime SifsTime is written and then never evaluated. Remove resulting dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/40234d0b1ab1eff23c71d96e8b0f1f0085e2bbac.1674071236.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 1 - drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index f7865d0c787a..ed27bdbb8fb9 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -581,7 +581,6 @@ void rtl92e_get_tx_power(struct net_device *dev) priv->framesync = rtl92e_readb(dev, rOFDM0_RxDetector3); priv->framesyncC34 = rtl92e_readl(dev, rOFDM0_RxDetector2); - priv->SifsTime = rtl92e_readw(dev, SIFS); } void rtl92e_set_tx_power(struct net_device *dev, u8 channel) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index cbafbecb5ca5..feb48ee35110 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -412,7 +412,6 @@ struct r8192_priv { u8 short_preamble; u8 dot11_current_preamble_mode; u8 slot_time; - u16 SifsTime; bool autoload_fail_flag; From 1032f497c5a1f42e3add5939605dae9b0f16f06a Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 18 Jan 2023 20:59:21 +0100 Subject: [PATCH 106/219] staging: rtl8192e: Remove unused variable framesyncC34 framesyncC34 is written and then never evaluated. Remove resulting dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/e641717f1b89dd9bba99a0f14fc2c24996cb6bd7.1674071236.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 1 - drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index ed27bdbb8fb9..aafe39e50bd9 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -580,7 +580,6 @@ void rtl92e_get_tx_power(struct net_device *dev) priv->def_initial_gain[3] = rtl92e_readb(dev, rOFDM0_XDAGCCore1); priv->framesync = rtl92e_readb(dev, rOFDM0_RxDetector3); - priv->framesyncC34 = rtl92e_readl(dev, rOFDM0_RxDetector2); } void rtl92e_set_tx_power(struct net_device *dev, u8 channel) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index feb48ee35110..626a2bc48969 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -513,7 +513,6 @@ struct r8192_priv { u32 continue_diff_count; bool bswitch_fsync; u8 framesync; - u32 framesyncC34; u8 frame_sync_monitor; u32 reset_count; From bc989fff450e8fbbc049b9858d56d572731283d2 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 18 Jan 2023 20:59:52 +0100 Subject: [PATCH 107/219] staging: rtl8192e: Remove unused variable PwrDomainProtect PwrDomainProtect is initialized and then never evaluated. Remove resulting dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/769f4d3337872d29d8fc5e31613aac52b6bae95b.1674071236.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 2 -- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 1 - 2 files changed, 3 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index fe985f4b8dbb..227c13d552fc 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -2027,8 +2027,6 @@ rtl92e_init_variables(struct net_device *dev) IMR_RDU | IMR_RXFOVW | IMR_TXFOVW | IMR_BcnInt | IMR_TBDOK | IMR_TBDER); - priv->PwrDomainProtect = false; - priv->bfirst_after_down = false; } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 626a2bc48969..e90cc61b3817 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -526,7 +526,6 @@ struct r8192_priv { bool chan_forced; - u8 PwrDomainProtect; u8 H2CTxCmdSeq; }; From 5190cd2a203d125b2dfb7eaabdad496811e9d5fd Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 18 Jan 2023 20:59:37 +0100 Subject: [PATCH 108/219] staging: rtl8192e: Remove unused variable H2CTxCmdSeq H2CTxCmdSeq is never used. Remove resulting dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/3e6da78dff15cb5e5e26450d8e3f23e2e10ce61f.1674071236.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index e90cc61b3817..12a869a556bb 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -525,8 +525,6 @@ struct r8192_priv { bool force_lps; bool chan_forced; - - u8 H2CTxCmdSeq; }; extern const struct ethtool_ops rtl819x_ethtool_ops; From a749318330a4729210c1a67b27e4807aec85552d Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 18 Jan 2023 21:00:07 +0100 Subject: [PATCH 109/219] staging: rtl8192e: Remove unused variable RF_C_TxPwDiff RF_C_TxPwDiff is set to a value and then never evaluated. Remove resulting dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/bcace15cc05057ab310f807f27619ef6ff391d91.1674071236.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 2 -- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 1 - 2 files changed, 3 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index aafe39e50bd9..ff66a97b8763 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -603,8 +603,6 @@ void rtl92e_set_tx_power(struct net_device *dev, u8 channel) ant_pwr_diff = priv->tx_pwr_level_ofdm_24g_c[channel - 1] - priv->tx_pwr_level_ofdm_24g_a[channel - 1]; - priv->RF_C_TxPwDiff = ant_pwr_diff; - ant_pwr_diff &= 0xf; priv->antenna_tx_pwr_diff[2] = 0; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 12a869a556bb..6662558e56fa 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -476,7 +476,6 @@ struct r8192_priv { u8 tx_pwr_level_ofdm_24g_a[14]; u8 tx_pwr_level_ofdm_24g_c[14]; u8 legacy_ht_tx_pwr_diff; - s8 RF_C_TxPwDiff; u8 antenna_tx_pwr_diff[3]; bool dynamic_tx_high_pwr; From 2636455b28cb477a1b74c570023ac505ff1a3890 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 18 Jan 2023 21:00:17 +0100 Subject: [PATCH 110/219] staging: rtl8192e: Remove unused variable DM_Type DM_Type is initialized and then never evaluated. Remove resulting dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/380fa2767d1f1cc32a5ad271057683d67ceb1b6f.1674071236.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 2 -- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 2 -- drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 2 -- 3 files changed, 6 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 6662558e56fa..11f3f88491b2 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -457,8 +457,6 @@ struct r8192_priv { bool set_rf_pwr_state_in_progress; bool bdisable_nic; - u8 DM_Type; - u8 cck_pwr_enl; u16 tssi_13dBm; u32 pwr_track; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index cb55b6645674..ba92dab682ec 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -203,8 +203,6 @@ void rtl92e_dm_init(struct net_device *dev) { struct r8192_priv *priv = rtllib_priv(dev); - priv->DM_Type = DM_Type_ByDriver; - priv->undecorated_smoothed_pwdb = -1; _rtl92e_dm_init_dynamic_tx_power(dev); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h index 1d4d7d98a859..65d077dfee37 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h @@ -47,8 +47,6 @@ #define TX_RETRY_COUNT_REG 0x1ac #define RegC38_TH 20 -#define DM_Type_ByDriver 1 - /*--------------------------Define Parameters-------------------------------*/ From f63f856086559de65625e7a84fd6c8d4db1f0459 Mon Sep 17 00:00:00 2001 From: Larry Finger Date: Fri, 20 Jan 2023 13:11:19 -0600 Subject: [PATCH 111/219] staging: r8188eu: Fix some endian problems Sparse lists the following warnings: CHECK drivers/staging/r8188eu/core/rtw_mlme.c drivers/staging/r8188eu/core/rtw_mlme.c:1197:49: warning: incorrect type in argument 2 (different base types) drivers/staging/r8188eu/core/rtw_mlme.c:1197:49: expected restricted __le16 [usertype] mstatus_rpt drivers/staging/r8188eu/core/rtw_mlme.c:1197:49: got unsigned short [assigned] [usertype] media_status_rpt drivers/staging/r8188eu/core/rtw_mlme.c:1275:57: warning: incorrect type in argument 2 (different base types) drivers/staging/r8188eu/core/rtw_mlme.c:1275:57: expected restricted __le16 [usertype] mstatus_rpt drivers/staging/r8188eu/core/rtw_mlme.c:1275:57: got unsigned short [assigned] [usertype] media_status CHECK drivers/staging/r8188eu/core/rtw_mlme_ext.c drivers/staging/r8188eu/core/rtw_mlme_ext.c:6842:58: warning: incorrect type in argument 2 (different base types) drivers/staging/r8188eu/core/rtw_mlme_ext.c:6842:58: expected restricted __le16 [usertype] mstatus_rpt drivers/staging/r8188eu/core/rtw_mlme_ext.c:6842:58: got unsigned short [assigned] [usertype] media_status The second argument of rtl8188e_set_FwMediaStatus_cmd() needs to be in CPU order, not little-endian; however, when it uses that value to call FillH2CCmd_88E() the parameter must be in little-endian order as that value will be sent to the firmware. Note that the conversion from LE to CPU order was le16_to_cpu() rather than the correct cpu_to_le16. The definition of FillH2CCmd_88E() is revised, and the proper conversion routine is used. Note that the original code performed one byte swap on the secong argument of FillH2CCmd_88E(), and got the correct answer even though the semantics were very wrong. Tested-by: Philipp Hortmann # Edimax N150 Reviewed-by: Dan Carpenter Reported-by: Gaurav Pathak Signed-off-by: Larry Finger Link: https://lore.kernel.org/r/20230120191119.13163-1-Larry.Finger@lwfinger.net Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/rtl8188e_cmd.c | 4 ++-- drivers/staging/r8188eu/include/rtl8188e_cmd.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_cmd.c b/drivers/staging/r8188eu/hal/rtl8188e_cmd.c index 8310d7f53982..788904d4655c 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_cmd.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_cmd.c @@ -193,9 +193,9 @@ void rtl8188e_set_FwPwrMode_cmd(struct adapter *adapt, u8 Mode) } -void rtl8188e_set_FwMediaStatus_cmd(struct adapter *adapt, __le16 mstatus_rpt) +void rtl8188e_set_FwMediaStatus_cmd(struct adapter *adapt, u16 mstatus_rpt) { - u16 mst_rpt = le16_to_cpu(mstatus_rpt); + __le16 mst_rpt = cpu_to_le16(mstatus_rpt); FillH2CCmd_88E(adapt, H2C_COM_MEDIA_STATUS_RPT, sizeof(mst_rpt), (u8 *)&mst_rpt); } diff --git a/drivers/staging/r8188eu/include/rtl8188e_cmd.h b/drivers/staging/r8188eu/include/rtl8188e_cmd.h index 1e01c1662f9a..c785cf8ed683 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_cmd.h +++ b/drivers/staging/r8188eu/include/rtl8188e_cmd.h @@ -85,6 +85,6 @@ void rtl8188e_Add_RateATid(struct adapter *padapter, u32 bitmap, u8 arg, void rtl8188e_set_p2p_ps_offload_cmd(struct adapter *adapt, u8 p2p_ps_state); void CheckFwRsvdPageContent(struct adapter *adapt); -void rtl8188e_set_FwMediaStatus_cmd(struct adapter *adapt, __le16 mstatus_rpt); +void rtl8188e_set_FwMediaStatus_cmd(struct adapter *adapt, u16 mstatus_rpt); #endif/* __RTL8188E_CMD_H__ */ From 4f79170fe068740db6a601fb6e949aff8a13bed3 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Fri, 20 Jan 2023 21:17:50 +0100 Subject: [PATCH 112/219] staging: rtl8192e: Combine three loops to one to init tx_pwr_level_... The arrays EEPROMRfACCKChnl1TxPwLevel, EEPROMRfAOfdmChnlTxPwLevel, EEPROMRfCCCKChnl1TxPwLevel, EEPROMRfCOfdmChnlTxPwLevel are initialized to zero and never changed. The three loops contain the same code. Only the index of the upper named arrays go from 0 to 2. Therefore the three loops can be combined to one loop from 0 to 13 which removes useless code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/c268ccf158997c65756b7b092ae79cc2b69bd47f.1674244819.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 22 +------------------ 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 227c13d552fc..7187ee4c75f6 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -426,7 +426,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) 0xf0) >> 4; } else if (priv->epromtype == EEPROM_93C56) { - for (i = 0; i < 3; i++) { + for (i = 0; i < 14; i++) { priv->tx_pwr_level_cck_a[i] = priv->EEPROMRfACCKChnl1TxPwLevel[0]; priv->tx_pwr_level_ofdm_24g_a[i] = @@ -436,26 +436,6 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->tx_pwr_level_ofdm_24g_c[i] = priv->EEPROMRfCOfdmChnlTxPwLevel[0]; } - for (i = 3; i < 9; i++) { - priv->tx_pwr_level_cck_a[i] = - priv->EEPROMRfACCKChnl1TxPwLevel[1]; - priv->tx_pwr_level_ofdm_24g_a[i] = - priv->EEPROMRfAOfdmChnlTxPwLevel[1]; - priv->tx_pwr_level_cck_c[i] = - priv->EEPROMRfCCCKChnl1TxPwLevel[1]; - priv->tx_pwr_level_ofdm_24g_c[i] = - priv->EEPROMRfCOfdmChnlTxPwLevel[1]; - } - for (i = 9; i < 14; i++) { - priv->tx_pwr_level_cck_a[i] = - priv->EEPROMRfACCKChnl1TxPwLevel[2]; - priv->tx_pwr_level_ofdm_24g_a[i] = - priv->EEPROMRfAOfdmChnlTxPwLevel[2]; - priv->tx_pwr_level_cck_c[i] = - priv->EEPROMRfCCCKChnl1TxPwLevel[2]; - priv->tx_pwr_level_ofdm_24g_c[i] = - priv->EEPROMRfCOfdmChnlTxPwLevel[2]; - } priv->legacy_ht_tx_pwr_diff = priv->eeprom_legacy_ht_tx_pwr_diff; priv->antenna_tx_pwr_diff[0] = 0; From e198f3a6d754ab0f49654000cd701c1e148454ef Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Fri, 20 Jan 2023 21:18:02 +0100 Subject: [PATCH 113/219] staging: rtl8192e: Init tx_pwr_level_cck_a and friends directly The arrays EEPROMRfACCKChnl1TxPwLevel, EEPROMRfAOfdmChnlTxPwLevel, EEPROMRfCCCKChnl1TxPwLevel, EEPROMRfCOfdmChnlTxPwLevel are initialized to zero and never changed. Delete the arrays and set the variables directly to zero to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/9874e99fb9a803be2a89e81e2ecd01ba80398ea1.1674244819.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 12 ++++-------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 4 ---- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 7187ee4c75f6..fdf37c56066c 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -427,14 +427,10 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) } else if (priv->epromtype == EEPROM_93C56) { for (i = 0; i < 14; i++) { - priv->tx_pwr_level_cck_a[i] = - priv->EEPROMRfACCKChnl1TxPwLevel[0]; - priv->tx_pwr_level_ofdm_24g_a[i] = - priv->EEPROMRfAOfdmChnlTxPwLevel[0]; - priv->tx_pwr_level_cck_c[i] = - priv->EEPROMRfCCCKChnl1TxPwLevel[0]; - priv->tx_pwr_level_ofdm_24g_c[i] = - priv->EEPROMRfCOfdmChnlTxPwLevel[0]; + priv->tx_pwr_level_cck_a[i] = 0; + priv->tx_pwr_level_ofdm_24g_a[i] = 0; + priv->tx_pwr_level_cck_c[i] = 0; + priv->tx_pwr_level_ofdm_24g_c[i] = 0; } priv->legacy_ht_tx_pwr_diff = priv->eeprom_legacy_ht_tx_pwr_diff; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 11f3f88491b2..596693fbee4c 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -423,10 +423,6 @@ struct r8192_priv { u8 eeprom_tx_pwr_level_cck[14]; u8 eeprom_tx_pwr_level_ofdm24g[14]; - u8 EEPROMRfACCKChnl1TxPwLevel[3]; - u8 EEPROMRfAOfdmChnlTxPwLevel[3]; - u8 EEPROMRfCCCKChnl1TxPwLevel[3]; - u8 EEPROMRfCOfdmChnlTxPwLevel[3]; u16 eeprom_ant_pwr_diff; u8 eeprom_thermal_meter; u8 eeprom_crystal_cap; From 39902d6a7de8fb69bb06e97919ca1c8c43902e09 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Fri, 20 Jan 2023 21:18:12 +0100 Subject: [PATCH 114/219] staging: rtl8192e: Remove zeroed arrays tx_pwr_level_cck_a and friends The arrays tx_pwr_level_cck_a, tx_pwr_level_ofdm_24g_a, tx_pwr_level_cck_c and tx_pwr_level_ofdm_24g_c are initialized to zero and never changed. Delete the upper named arrays and set the variables directly to zero to avoid useless code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/b88e6bdd5569ac651692074060fba6f79c68c687.1674244819.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 7 ------- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 11 +++++------ drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 4 ---- 3 files changed, 5 insertions(+), 17 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index fdf37c56066c..b721bb72007d 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -425,13 +425,6 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->thermal_meter[1] = (priv->eeprom_thermal_meter & 0xf0) >> 4; } else if (priv->epromtype == EEPROM_93C56) { - - for (i = 0; i < 14; i++) { - priv->tx_pwr_level_cck_a[i] = 0; - priv->tx_pwr_level_ofdm_24g_a[i] = 0; - priv->tx_pwr_level_cck_c[i] = 0; - priv->tx_pwr_level_ofdm_24g_c[i] = 0; - } priv->legacy_ht_tx_pwr_diff = priv->eeprom_legacy_ht_tx_pwr_diff; priv->antenna_tx_pwr_diff[0] = 0; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index ff66a97b8763..33e3435b50b2 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -594,14 +594,13 @@ void rtl92e_set_tx_power(struct net_device *dev, u8 channel) powerlevelOFDM24G = priv->tx_pwr_level_ofdm_24g[channel - 1]; } else if (priv->epromtype == EEPROM_93C56) { if (priv->rf_type == RF_1T2R) { - powerlevel = priv->tx_pwr_level_cck_c[channel - 1]; - powerlevelOFDM24G = priv->tx_pwr_level_ofdm_24g_c[channel - 1]; + powerlevel = 0; + powerlevelOFDM24G = 0; } else if (priv->rf_type == RF_2T4R) { - powerlevel = priv->tx_pwr_level_cck_a[channel - 1]; - powerlevelOFDM24G = priv->tx_pwr_level_ofdm_24g_a[channel - 1]; + powerlevel = 0; + powerlevelOFDM24G = 0; - ant_pwr_diff = priv->tx_pwr_level_ofdm_24g_c[channel - 1] - - priv->tx_pwr_level_ofdm_24g_a[channel - 1]; + ant_pwr_diff = 0; ant_pwr_diff &= 0xf; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 596693fbee4c..59049ad349e0 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -464,11 +464,7 @@ struct r8192_priv { u32 mcs_tx_pwr_level_org_offset[6]; u8 tx_pwr_level_cck[14]; - u8 tx_pwr_level_cck_a[14]; - u8 tx_pwr_level_cck_c[14]; u8 tx_pwr_level_ofdm_24g[14]; - u8 tx_pwr_level_ofdm_24g_a[14]; - u8 tx_pwr_level_ofdm_24g_c[14]; u8 legacy_ht_tx_pwr_diff; u8 antenna_tx_pwr_diff[3]; From 44eac9d81ff219e11d76fa7de07b2ad72ccd89de Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Fri, 20 Jan 2023 21:18:19 +0100 Subject: [PATCH 115/219] staging: rtl8192e: Remove ant_pwr_diff which is always zero ant_pwr_diff is set to zero and then masked which will always result in zero. Remove ant_pwr_diff and use zero direct as it is just useless code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/a550004dcdeb9e0b716f69033a541457c1f12c86.1674244819.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 33e3435b50b2..c969c40c3979 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -586,7 +586,6 @@ void rtl92e_set_tx_power(struct net_device *dev, u8 channel) { struct r8192_priv *priv = rtllib_priv(dev); u8 powerlevel = 0, powerlevelOFDM24G = 0; - s8 ant_pwr_diff; u32 u4RegValue; if (priv->epromtype == EEPROM_93C46) { @@ -600,12 +599,8 @@ void rtl92e_set_tx_power(struct net_device *dev, u8 channel) powerlevel = 0; powerlevelOFDM24G = 0; - ant_pwr_diff = 0; - - ant_pwr_diff &= 0xf; - priv->antenna_tx_pwr_diff[2] = 0; - priv->antenna_tx_pwr_diff[1] = (u8)(ant_pwr_diff); + priv->antenna_tx_pwr_diff[1] = 0; priv->antenna_tx_pwr_diff[0] = 0; u4RegValue = priv->antenna_tx_pwr_diff[2] << 8 | From 9fb469870f7d194488a9c76d8eb49500bbdaee86 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Fri, 20 Jan 2023 21:18:26 +0100 Subject: [PATCH 116/219] staging: rtl8192e: Remove u4RegValue which is always zero As the array antenna_tx_pwr_diff is always zero, u4RegValue is always set to zero. Replace u4RegValue to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/2aa104c0f7a5cede7eea289fe92390295592b0e9.1674244819.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index c969c40c3979..d56c58ecc19f 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -586,7 +586,6 @@ void rtl92e_set_tx_power(struct net_device *dev, u8 channel) { struct r8192_priv *priv = rtllib_priv(dev); u8 powerlevel = 0, powerlevelOFDM24G = 0; - u32 u4RegValue; if (priv->epromtype == EEPROM_93C46) { powerlevel = priv->tx_pwr_level_cck[channel - 1]; @@ -603,13 +602,8 @@ void rtl92e_set_tx_power(struct net_device *dev, u8 channel) priv->antenna_tx_pwr_diff[1] = 0; priv->antenna_tx_pwr_diff[0] = 0; - u4RegValue = priv->antenna_tx_pwr_diff[2] << 8 | - priv->antenna_tx_pwr_diff[1] << 4 | - priv->antenna_tx_pwr_diff[0]; - rtl92e_set_bb_reg(dev, rFPGA0_TxGainStage, - (bXBTxAGC|bXCTxAGC|bXDTxAGC), - u4RegValue); + (bXBTxAGC | bXCTxAGC | bXDTxAGC), 0); } } switch (priv->rf_chip) { From 0d9943b8b21c7927711e4108db65f9e38400e6f0 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Fri, 20 Jan 2023 21:18:36 +0100 Subject: [PATCH 117/219] staging: rtl8192e: Remove repeated set to zero of powerlevel and friend Variables powerlevel and powerlevelOFDM24G are initialized to zero and unchanged. No reason to set them to zero again. Remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/50f28816aa006821d3e3a8346e39ae68c4d53963.1674244819.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index d56c58ecc19f..95a21859c7e0 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -591,13 +591,7 @@ void rtl92e_set_tx_power(struct net_device *dev, u8 channel) powerlevel = priv->tx_pwr_level_cck[channel - 1]; powerlevelOFDM24G = priv->tx_pwr_level_ofdm_24g[channel - 1]; } else if (priv->epromtype == EEPROM_93C56) { - if (priv->rf_type == RF_1T2R) { - powerlevel = 0; - powerlevelOFDM24G = 0; - } else if (priv->rf_type == RF_2T4R) { - powerlevel = 0; - powerlevelOFDM24G = 0; - + if (priv->rf_type == RF_2T4R) { priv->antenna_tx_pwr_diff[2] = 0; priv->antenna_tx_pwr_diff[1] = 0; priv->antenna_tx_pwr_diff[0] = 0; From 5440dade683e47c9b4478f2793c4df4bfe654732 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sat, 21 Jan 2023 22:44:53 +0100 Subject: [PATCH 118/219] staging: rtl8192e: Remove unused variable bfirst_init bfirst_init is six times set but never evaluated. Remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/d4f4552e5dbaa036a762590bf47bd5faff15b598.1674336211.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 6 ------ drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 1 - 2 files changed, 7 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 7a89381bae50..80450d46191c 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -692,16 +692,13 @@ static int _rtl92e_sta_up(struct net_device *dev, bool is_silent_reset) priv->rtllib->ieee_up = 1; priv->up_first_time = 0; - priv->bfirst_init = true; init_status = priv->ops->initialize_adapter(dev); if (!init_status) { netdev_err(dev, "%s(): Initialization failed!\n", __func__); - priv->bfirst_init = false; return -1; } RT_CLEAR_PS_LEVEL(psc, RT_RF_OFF_LEVL_HALT_NIC); - priv->bfirst_init = false; if (priv->polling_timer_on == 0) rtl92e_check_rfctrl_gpio_timer(&priv->gpio_polling_timer); @@ -837,7 +834,6 @@ static void _rtl92e_init_priv_variable(struct net_device *dev) priv->blinked_ingpio = false; priv->being_init_adapter = false; priv->bdisable_nic = false; - priv->bfirst_init = false; priv->txringcount = 64; priv->rxbuffersize = 9100; priv->rxringcount = MAX_RX_COUNT; @@ -2423,7 +2419,6 @@ bool rtl92e_enable_nic(struct net_device *dev) return false; } - priv->bfirst_init = true; init_status = priv->ops->initialize_adapter(dev); if (!init_status) { netdev_warn(dev, "%s(): Initialization failed!\n", __func__); @@ -2431,7 +2426,6 @@ bool rtl92e_enable_nic(struct net_device *dev) return false; } RT_CLEAR_PS_LEVEL(psc, RT_RF_OFF_LEVL_HALT_NIC); - priv->bfirst_init = false; rtl92e_irq_enable(dev); priv->bdisable_nic = false; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 59049ad349e0..e0f4a3b444ee 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -298,7 +298,6 @@ struct r8192_priv { struct pci_dev *pdev; struct pci_dev *bridge_pdev; - bool bfirst_init; bool bfirst_after_down; bool being_init_adapter; From b441257594af2264ac2ce3dd7efb52c45cd73498 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sat, 21 Jan 2023 22:44:59 +0100 Subject: [PATCH 119/219] staging: rtl8192e: Rename eeprom_CustomerID, SwChnlStage and SwChnlStep Rename variable eeprom_CustomerID to eeprom_customer_id, SwChnlStage to sw_chnl_stage and SwChnlStep to sw_chnl_step to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/0d2e7bbd3a2f80d4652d4131c82294e172a2de30.1674336211.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 6 +++--- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 8 ++++---- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index b721bb72007d..6c570582479d 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -303,7 +303,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) usValue = rtl92e_eeprom_read(dev, (EEPROM_Customer_ID >> 1)) >> 8; - priv->eeprom_CustomerID = usValue & 0xff; + priv->eeprom_customer_id = usValue & 0xff; usValue = rtl92e_eeprom_read(dev, EEPROM_ICVersion_ChannelPlan>>1); priv->eeprom_chnl_plan = usValue&0xff; @@ -327,7 +327,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->card_8192_version = VERSION_8190_BD; priv->eeprom_vid = 0; priv->eeprom_did = 0; - priv->eeprom_CustomerID = 0; + priv->eeprom_customer_id = 0; priv->eeprom_chnl_plan = 0; } @@ -449,7 +449,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) if (priv->eeprom_vid == 0x1186 && priv->eeprom_did == 0x3304) priv->customer_id = RT_CID_DLINK; - switch (priv->eeprom_CustomerID) { + switch (priv->eeprom_customer_id) { case EEPROM_CID_DEFAULT: priv->customer_id = RT_CID_DEFAULT; break; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 95a21859c7e0..ca10a14c63b4 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -907,8 +907,8 @@ static void _rtl92e_phy_switch_channel(struct net_device *dev, u8 channel) u32 delay = 0; while (!_rtl92e_phy_switch_channel_step(dev, channel, - &priv->SwChnlStage, - &priv->SwChnlStep, &delay)) { + &priv->sw_chnl_stage, + &priv->sw_chnl_step, &delay)) { if (delay > 0) msleep(delay); if (!priv->up) @@ -971,8 +971,8 @@ u8 rtl92e_set_channel(struct net_device *dev, u8 channel) priv->chan = channel; - priv->SwChnlStage = 0; - priv->SwChnlStep = 0; + priv->sw_chnl_stage = 0; + priv->sw_chnl_step = 0; if (priv->up) _rtl92e_phy_switch_channel_work_item(dev); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index e0f4a3b444ee..55a68bbe3861 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -417,7 +417,7 @@ struct r8192_priv { short epromtype; u16 eeprom_vid; u16 eeprom_did; - u8 eeprom_CustomerID; + u8 eeprom_customer_id; u16 eeprom_chnl_plan; u8 eeprom_tx_pwr_level_cck[14]; @@ -432,8 +432,8 @@ struct r8192_priv { u8 thermal_meter[2]; u8 sw_chnl_in_progress; - u8 SwChnlStage; - u8 SwChnlStep; + u8 sw_chnl_stage; + u8 sw_chnl_step; u8 set_bw_mode_in_progress; u8 n_cur_40mhz_prime_sc; From 3f954e227fdcd5004af1db3ea1e1800204c7f233 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sat, 21 Jan 2023 22:45:11 +0100 Subject: [PATCH 120/219] staging: rtl8192e: Rename btxpower_trackin.., Slide_Beaco.. and Slide_B.. Rename variable btxpower_trackingInit to tx_pwr_tracking_init, Slide_Beacon_pwdb to slide_beacon_pwdb and Slide_Beacon_Total to slide_beacon_total to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/b722cd913d04d07ac1952da2add2a16cfeb2dc8c.1674336211.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 10 +++++----- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 +++--- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 6c570582479d..9260d308e68b 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1574,17 +1574,17 @@ static void _rtl92e_process_phyinfo(struct r8192_priv *priv, u8 *buffer, PHY_Beacon_RSSI_SLID_WIN_MAX) { slide_beacon_adc_pwdb_statistics = PHY_Beacon_RSSI_SLID_WIN_MAX; - last_beacon_adc_pwdb = priv->stats.Slide_Beacon_pwdb + last_beacon_adc_pwdb = priv->stats.slide_beacon_pwdb [slide_beacon_adc_pwdb_index]; - priv->stats.Slide_Beacon_Total -= last_beacon_adc_pwdb; + priv->stats.slide_beacon_total -= last_beacon_adc_pwdb; } - priv->stats.Slide_Beacon_Total += prev_st->RxPWDBAll; - priv->stats.Slide_Beacon_pwdb[slide_beacon_adc_pwdb_index] = + priv->stats.slide_beacon_total += prev_st->RxPWDBAll; + priv->stats.slide_beacon_pwdb[slide_beacon_adc_pwdb_index] = prev_st->RxPWDBAll; slide_beacon_adc_pwdb_index++; if (slide_beacon_adc_pwdb_index >= PHY_Beacon_RSSI_SLID_WIN_MAX) slide_beacon_adc_pwdb_index = 0; - prev_st->RxPWDBAll = priv->stats.Slide_Beacon_Total / + prev_st->RxPWDBAll = priv->stats.slide_beacon_total / slide_beacon_adc_pwdb_statistics; if (prev_st->RxPWDBAll >= 3) prev_st->RxPWDBAll -= 3; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 55a68bbe3861..983bc663a570 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -229,8 +229,8 @@ struct rt_stats { u8 rx_rssi_percentage[4]; u8 rx_evm_percentage[2]; long rxSNRdB[4]; - u32 Slide_Beacon_pwdb[100]; - u32 Slide_Beacon_Total; + u32 slide_beacon_pwdb[100]; + u32 slide_beacon_total; u32 CurrentShowTxate; }; @@ -481,7 +481,7 @@ struct r8192_priv { bool bcck_in_ch14; u8 txpower_count; - bool btxpower_trackingInit; + bool tx_pwr_tracking_init; u8 ofdm_index[2]; u8 cck_index; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index ba92dab682ec..79f993ab7cee 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -768,7 +768,7 @@ static void _rtl92e_dm_tx_power_tracking_cb_thermal(struct net_device *dev) u8 tmpOFDMindex, tmpCCKindex, tmpCCK20Mindex, tmpCCK40Mindex, tmpval; int i = 0, CCKSwingNeedUpdate = 0; - if (!priv->btxpower_trackingInit) { + if (!priv->tx_pwr_tracking_init) { tmpRegA = rtl92e_get_bb_reg(dev, rOFDM0_XATxIQImbalance, bMaskDWord); for (i = 0; i < OFDM_Table_Length; i++) { @@ -783,7 +783,7 @@ static void _rtl92e_dm_tx_power_tracking_cb_thermal(struct net_device *dev) break; } } - priv->btxpower_trackingInit = true; + priv->tx_pwr_tracking_init = true; return; } @@ -868,7 +868,7 @@ static void _rtl92e_dm_initialize_tx_power_tracking_tssi(struct net_device *dev) priv->btxpower_tracking = true; priv->txpower_count = 0; - priv->btxpower_trackingInit = false; + priv->tx_pwr_tracking_init = false; } @@ -882,7 +882,7 @@ static void _rtl92e_dm_init_tx_power_tracking_thermal(struct net_device *dev) else priv->btxpower_tracking = false; priv->txpower_count = 0; - priv->btxpower_trackingInit = false; + priv->tx_pwr_tracking_init = false; } void rtl92e_dm_init_txpower_tracking(struct net_device *dev) @@ -1073,7 +1073,7 @@ void rtl92e_dm_restore_state(struct net_device *dev) ratr_value &= ~(RATE_ALL_OFDM_2SS); rtl92e_writel(dev, RATR0, ratr_value); rtl92e_writeb(dev, UFWP, 1); - if (priv->btxpower_trackingInit && priv->btxpower_tracking) + if (priv->tx_pwr_tracking_init && priv->btxpower_tracking) _rtl92e_dm_tx_power_reset_recovery(dev); _rtl92e_dm_bb_initialgain_restore(dev); From 2beeddb3203daecf259b7bde2dfde81c53bd3675 Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Sat, 21 Jan 2023 01:40:59 +0530 Subject: [PATCH 121/219] staging: vc04_services: Drop __VCCOREVER__ remnants Commit 8ba5f91bab63 ("staging: vc04_services: remove __VCCOREVER__") was meant to remove all of __VCCOREVER__ definitions but missed to remove a few. Hence, drop them now. Signed-off-by: Umang Jain Reviewed-by: Laurent Pinchart Link: https://lore.kernel.org/r/20230120201104.606876-2-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vc04_services/bcm2835-audio/Makefile | 2 +- drivers/staging/vc04_services/bcm2835-camera/Makefile | 3 +-- drivers/staging/vc04_services/vchiq-mmal/Makefile | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/staging/vc04_services/bcm2835-audio/Makefile b/drivers/staging/vc04_services/bcm2835-audio/Makefile index d59fe4dde615..fc7ac6112a3e 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/Makefile +++ b/drivers/staging/vc04_services/bcm2835-audio/Makefile @@ -2,4 +2,4 @@ obj-$(CONFIG_SND_BCM2835) += snd-bcm2835.o snd-bcm2835-objs := bcm2835.o bcm2835-ctl.o bcm2835-pcm.o bcm2835-vchiq.o -ccflags-y += -I $(srctree)/$(src)/../include -D__VCCOREVER__=0x04000000 +ccflags-y += -I $(srctree)/$(src)/../include diff --git a/drivers/staging/vc04_services/bcm2835-camera/Makefile b/drivers/staging/vc04_services/bcm2835-camera/Makefile index 3a76d6ade428..3494c82b271a 100644 --- a/drivers/staging/vc04_services/bcm2835-camera/Makefile +++ b/drivers/staging/vc04_services/bcm2835-camera/Makefile @@ -7,5 +7,4 @@ obj-$(CONFIG_VIDEO_BCM2835) += bcm2835-v4l2.o ccflags-y += \ -I $(srctree)/$(src)/.. \ - -I $(srctree)/$(src)/../vchiq-mmal/ \ - -D__VCCOREVER__=0x04000000 + -I $(srctree)/$(src)/../vchiq-mmal/ diff --git a/drivers/staging/vc04_services/vchiq-mmal/Makefile b/drivers/staging/vc04_services/vchiq-mmal/Makefile index b2a830f48acc..c7d3b06e17ce 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/Makefile +++ b/drivers/staging/vc04_services/vchiq-mmal/Makefile @@ -5,5 +5,4 @@ obj-$(CONFIG_BCM2835_VCHIQ_MMAL) += bcm2835-mmal-vchiq.o ccflags-y += \ -I$(srctree)/$(src)/.. \ - -I$(srctree)/$(src)/../include \ - -D__VCCOREVER__=0x04000000 + -I$(srctree)/$(src)/../include From 29d49a76c5b2afa6cc1f1d7e48d6f9422055383f Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Sat, 21 Jan 2023 01:41:00 +0530 Subject: [PATCH 122/219] staging: vc04_services: bcm2835-audio: Drop include Makefile directive Drop the include directive. They can break the build, when one only wants to build a subdirectory. Replace with "../" for the includes, in the bcm2835.h instead. Suggested-by: Greg Kroah-Hartman Signed-off-by: Umang Jain Link: https://lore.kernel.org/r/20230120201104.606876-3-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vc04_services/bcm2835-audio/Makefile | 2 -- drivers/staging/vc04_services/bcm2835-audio/bcm2835.h | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/staging/vc04_services/bcm2835-audio/Makefile b/drivers/staging/vc04_services/bcm2835-audio/Makefile index fc7ac6112a3e..01ceebdf88e7 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/Makefile +++ b/drivers/staging/vc04_services/bcm2835-audio/Makefile @@ -1,5 +1,3 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_SND_BCM2835) += snd-bcm2835.o snd-bcm2835-objs := bcm2835.o bcm2835-ctl.o bcm2835-pcm.o bcm2835-vchiq.o - -ccflags-y += -I $(srctree)/$(src)/../include diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h index 38b7451d77b2..0a81383c475a 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h @@ -6,11 +6,12 @@ #include #include -#include #include #include #include +#include "../include/linux/raspberrypi/vchiq.h" + #define MAX_SUBSTREAMS (8) #define AVAIL_SUBSTREAMS_MASK (0xff) From 5395fb3b39488219984587b99f65f6bda7935df6 Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Sat, 21 Jan 2023 01:41:01 +0530 Subject: [PATCH 123/219] staging: vc04_services: bcm2835-camera: Drop include Makefile directive Drop the include directive. They can break the build, when one only wants to build a subdirectory. Replace with "../" for the includes, in the bcm2835-camera files instead. Suggested-by: Greg Kroah-Hartman Signed-off-by: Umang Jain Reviewed-by: Laurent Pinchart Link: https://lore.kernel.org/r/20230120201104.606876-4-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vc04_services/bcm2835-camera/Makefile | 4 ---- .../vc04_services/bcm2835-camera/bcm2835-camera.c | 10 +++++----- .../staging/vc04_services/bcm2835-camera/controls.c | 6 +++--- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/staging/vc04_services/bcm2835-camera/Makefile b/drivers/staging/vc04_services/bcm2835-camera/Makefile index 3494c82b271a..203b93899b20 100644 --- a/drivers/staging/vc04_services/bcm2835-camera/Makefile +++ b/drivers/staging/vc04_services/bcm2835-camera/Makefile @@ -4,7 +4,3 @@ bcm2835-v4l2-$(CONFIG_VIDEO_BCM2835) := \ controls.o obj-$(CONFIG_VIDEO_BCM2835) += bcm2835-v4l2.o - -ccflags-y += \ - -I $(srctree)/$(src)/.. \ - -I $(srctree)/$(src)/../vchiq-mmal/ diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c index 797ebe2a973a..4f81765912ea 100644 --- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c +++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c @@ -26,11 +26,11 @@ #include #include -#include "mmal-common.h" -#include "mmal-encodings.h" -#include "mmal-vchiq.h" -#include "mmal-msg.h" -#include "mmal-parameters.h" +#include "../vchiq-mmal/mmal-common.h" +#include "../vchiq-mmal/mmal-encodings.h" +#include "../vchiq-mmal/mmal-vchiq.h" +#include "../vchiq-mmal/mmal-msg.h" +#include "../vchiq-mmal/mmal-parameters.h" #include "bcm2835-camera.h" #define MIN_WIDTH 32 diff --git a/drivers/staging/vc04_services/bcm2835-camera/controls.c b/drivers/staging/vc04_services/bcm2835-camera/controls.c index 5644d1d457b9..6bce45925bf1 100644 --- a/drivers/staging/vc04_services/bcm2835-camera/controls.c +++ b/drivers/staging/vc04_services/bcm2835-camera/controls.c @@ -23,9 +23,9 @@ #include #include -#include "mmal-common.h" -#include "mmal-vchiq.h" -#include "mmal-parameters.h" +#include "../vchiq-mmal/mmal-common.h" +#include "../vchiq-mmal/mmal-vchiq.h" +#include "../vchiq-mmal/mmal-parameters.h" #include "bcm2835-camera.h" /* The supported V4L2_CID_AUTO_EXPOSURE_BIAS values are from -4.0 to +4.0. From 74d5eb7de9b07e24b5257c6e62e8589f2084f10e Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Sat, 21 Jan 2023 01:41:02 +0530 Subject: [PATCH 124/219] staging: vc04_services: vchiq-mmal: Drop include Makefile directive Drop the include directive. They can break the build, when one only wants to build a subdirectory. Replace with "../" for the includes, in the mmal-vchiq.c instead. Suggested-by: Greg Kroah-Hartman Signed-off-by: Umang Jain Link: https://lore.kernel.org/r/20230120201104.606876-5-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vc04_services/vchiq-mmal/Makefile | 4 ---- drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/drivers/staging/vc04_services/vchiq-mmal/Makefile b/drivers/staging/vc04_services/vchiq-mmal/Makefile index c7d3b06e17ce..6937f6534c26 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/Makefile +++ b/drivers/staging/vc04_services/vchiq-mmal/Makefile @@ -2,7 +2,3 @@ bcm2835-mmal-vchiq-objs := mmal-vchiq.o obj-$(CONFIG_BCM2835_VCHIQ_MMAL) += bcm2835-mmal-vchiq.o - -ccflags-y += \ - -I$(srctree)/$(src)/.. \ - -I$(srctree)/$(src)/../include diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c index 6b5879a33780..234e3764db64 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c @@ -23,9 +23,9 @@ #include #include #include -#include #include +#include "../include/linux/raspberrypi/vchiq.h" #include "mmal-common.h" #include "mmal-vchiq.h" #include "mmal-msg.h" From 2529ca2114028182f3871b2a27143e61de99321e Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Sat, 21 Jan 2023 01:41:03 +0530 Subject: [PATCH 125/219] staging: vc04_services: interface: Drop include Makefile directive Drop the include directive. They can break the build, when one only wants to build a subdirectory. Replace with "../" for the includes, in the interface/ files instead. Suggested-by: Greg Kroah-Hartman Signed-off-by: Umang Jain Link: https://lore.kernel.org/r/20230120201104.606876-6-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vc04_services/Makefile | 2 -- drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h | 2 +- .../staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h | 3 ++- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/staging/vc04_services/Makefile b/drivers/staging/vc04_services/Makefile index 1fd191e2e2a5..44794bdf6173 100644 --- a/drivers/staging/vc04_services/Makefile +++ b/drivers/staging/vc04_services/Makefile @@ -15,5 +15,3 @@ obj-$(CONFIG_SND_BCM2835) += bcm2835-audio/ obj-$(CONFIG_VIDEO_BCM2835) += bcm2835-camera/ obj-$(CONFIG_BCM2835_VCHIQ_MMAL) += vchiq-mmal/ -ccflags-y += -I $(srctree)/$(src)/include - diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h index 3c198eb1c77a..ec1a3caefaea 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h @@ -10,8 +10,8 @@ #include #include #include -#include +#include "../../include/linux/raspberrypi/vchiq.h" #include "vchiq_cfg.h" /* Do this so that we can test-build the code on non-rpi systems */ diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h index 96f50beace44..17550831f86c 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h @@ -5,7 +5,8 @@ #define VCHIQ_IOCTLS_H #include -#include + +#include "../../include/linux/raspberrypi/vchiq.h" #define VCHIQ_IOC_MAGIC 0xc4 #define VCHIQ_INVALID_HANDLE (~0) From 11617b77ad730903dc9a9cc659656b0ade03ef3e Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:20 +0100 Subject: [PATCH 126/219] staging: r8188eu: we use a constant number of hw_xmit entries struct xmit_priv contains a pointer to an array of struct hw_xmit entries. xmit_priv's (ill-named) hwxmit_entry component stores the size of this array, i.e. the number of hw_xmit entries that are used. The array size is constant, it's initialised to HWXMIT_ENTRY and never updated. Simplify the code accordingly. Remove hwxmit_entry, do not pass the array size as a function parameter and use HWXMIT_ENTRY in the code that handles the array. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 8 +++----- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 2 +- drivers/staging/r8188eu/include/rtw_xmit.h | 3 +-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index c51f6eabef87..5f2426be6c11 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1375,7 +1375,7 @@ static struct xmit_frame *dequeue_one_xmitframe(struct xmit_priv *pxmitpriv, str return pxmitframe; } -struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i, int entry) +struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i) { struct list_head *sta_plist, *sta_phead; struct hw_xmit *phwxmit; @@ -1397,7 +1397,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi spin_lock_bh(&pxmitpriv->lock); - for (i = 0; i < entry; i++) { + for (i = 0; i < HWXMIT_ENTRY; i++) { phwxmit = phwxmit_i + inx[i]; sta_phead = get_list_head(phwxmit->sta_queue); @@ -1501,9 +1501,7 @@ int rtw_alloc_hwxmits(struct adapter *padapter) struct hw_xmit *hwxmits; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - pxmitpriv->hwxmit_entry = HWXMIT_ENTRY; - - pxmitpriv->hwxmits = kcalloc(pxmitpriv->hwxmit_entry, sizeof(struct hw_xmit), GFP_KERNEL); + pxmitpriv->hwxmits = kcalloc(HWXMIT_ENTRY, sizeof(struct hw_xmit), GFP_KERNEL); if (!pxmitpriv->hwxmits) return -ENOMEM; diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c index d1af76cc2091..e097fa14dc6e 100644 --- a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c +++ b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c @@ -398,7 +398,7 @@ bool rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv *pxmit if (!pxmitbuf) return false; - pxmitframe = rtw_dequeue_xframe(pxmitpriv, pxmitpriv->hwxmits, pxmitpriv->hwxmit_entry); + pxmitframe = rtw_dequeue_xframe(pxmitpriv, pxmitpriv->hwxmits); if (!pxmitframe) { /* no more xmit frame, release xmit buffer */ rtw_free_xmitbuf(pxmitpriv, pxmitbuf); diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 883eacd98224..cc32167fb4dc 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -273,7 +273,6 @@ struct xmit_priv { u64 last_tx_bytes; u64 last_tx_pkts; struct hw_xmit *hwxmits; - u8 hwxmit_entry; u8 wmm_para_seq[4];/* sequence for wmm ac parameter strength * from large to small. it's value is 0->vo, * 1->vi, 2->be, 3->bk. */ @@ -324,7 +323,7 @@ struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe); struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, - struct hw_xmit *phwxmit_i, int entry); + struct hw_xmit *phwxmit_i); s32 rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe); From efa1c4e56c7d513bbca46f4f98ff8de25791654d Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:21 +0100 Subject: [PATCH 127/219] staging: r8188eu: pass struct adapter to usb_write The usb_write function takes a struct intf_hdl only to extract the struct adapter from it. We can pass struct adapter directly. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/usb_ops_linux.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c index d82abfcd91f3..9f008e61a6f2 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -49,9 +49,8 @@ static int usb_read(struct adapter *adapt, u16 value, void *data, u8 size) return status; } -static int usb_write(struct intf_hdl *intf, u16 value, void *data, u8 size) +static int usb_write(struct adapter *adapt, u16 value, void *data, u8 size) { - struct adapter *adapt = intf->padapter; struct dvobj_priv *dvobjpriv = adapter_to_dvobj(adapt); struct usb_device *udev = dvobjpriv->pusbdev; int status; @@ -131,48 +130,44 @@ int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data) int rtw_write8(struct adapter *adapter, u32 addr, u8 val) { - struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; int ret; - ret = usb_write(intf, value, &val, 1); + ret = usb_write(adapter, value, &val, 1); return RTW_STATUS_CODE(ret); } int rtw_write16(struct adapter *adapter, u32 addr, u16 val) { - struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; __le16 data = cpu_to_le16(val); int ret; - ret = usb_write(intf, value, &data, 2); + ret = usb_write(adapter, value, &data, 2); return RTW_STATUS_CODE(ret); } int rtw_write32(struct adapter *adapter, u32 addr, u32 val) { - struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; __le32 data = cpu_to_le32(val); int ret; - ret = usb_write(intf, value, &data, 4); + ret = usb_write(adapter, value, &data, 4); return RTW_STATUS_CODE(ret); } int rtw_writeN(struct adapter *adapter, u32 addr, u32 length, u8 *data) { - struct intf_hdl *intf = &adapter->intf; u16 value = addr & 0xffff; if (length > VENDOR_CMD_MAX_DATA_LEN) return -EINVAL; - return usb_write(intf, value, data, length); + return usb_write(adapter, value, data, length); } static void handle_txrpt_ccx_88e(struct adapter *adapter, u8 *buf) From f9e39a96f1c5aafbd34ec9d8ce1e9f6c4572d9b7 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:22 +0100 Subject: [PATCH 128/219] staging: r8188eu: remove struct intf_hdl There are no more users of struct intf_hdl in the r8188eu driver. We can now remove this struct. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/drv_types.h | 1 - drivers/staging/r8188eu/include/rtw_io.h | 6 ------ drivers/staging/r8188eu/os_dep/usb_intf.c | 6 ------ 3 files changed, 13 deletions(-) diff --git a/drivers/staging/r8188eu/include/drv_types.h b/drivers/staging/r8188eu/include/drv_types.h index 614673902377..7b170eed66b3 100644 --- a/drivers/staging/r8188eu/include/drv_types.h +++ b/drivers/staging/r8188eu/include/drv_types.h @@ -152,7 +152,6 @@ struct adapter { struct mlme_ext_priv mlmeextpriv; struct cmd_priv cmdpriv; struct evt_priv evtpriv; - struct intf_hdl intf; struct xmit_priv xmitpriv; struct recv_priv recvpriv; struct sta_priv stapriv; diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 0d2aa432f88d..033ea7146861 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -17,12 +17,6 @@ #include struct intf_priv; -struct intf_hdl; - -struct intf_hdl { - struct adapter *padapter; - struct dvobj_priv *pintf_dev; -}; int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data); int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data); diff --git a/drivers/staging/r8188eu/os_dep/usb_intf.c b/drivers/staging/r8188eu/os_dep/usb_intf.c index 1f70e5fee1b2..1f114b1fc4d5 100644 --- a/drivers/staging/r8188eu/os_dep/usb_intf.c +++ b/drivers/staging/r8188eu/os_dep/usb_intf.c @@ -290,7 +290,6 @@ static int rtw_usb_if1_init(struct dvobj_priv *dvobj, struct usb_interface *pusb { struct adapter *padapter = NULL; struct net_device *pnetdev = NULL; - struct intf_hdl *pintf; int ret; padapter = vzalloc(sizeof(*padapter)); @@ -317,11 +316,6 @@ static int rtw_usb_if1_init(struct dvobj_priv *dvobj, struct usb_interface *pusb padapter->intf_start = &usb_intf_start; padapter->intf_stop = &usb_intf_stop; - /* step init_io_priv */ - pintf = &padapter->intf; - pintf->padapter = padapter; - pintf->pintf_dev = adapter_to_dvobj(padapter); - /* step read_chip_version */ rtl8188e_read_chip_version(padapter); From 6feaef197f9dc8c433c50028afee1ebcabfb013f Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:23 +0100 Subject: [PATCH 129/219] staging: r8188eu: remove struct intf_priv struct intf_priv is not used in the r8188eu driver. It can be removed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/osdep_intf.h | 32 -------------------- drivers/staging/r8188eu/include/rtw_io.h | 2 -- 2 files changed, 34 deletions(-) diff --git a/drivers/staging/r8188eu/include/osdep_intf.h b/drivers/staging/r8188eu/include/osdep_intf.h index 6d66cb57225e..457fb3852a19 100644 --- a/drivers/staging/r8188eu/include/osdep_intf.h +++ b/drivers/staging/r8188eu/include/osdep_intf.h @@ -7,38 +7,6 @@ #include "osdep_service.h" #include "drv_types.h" -struct intf_priv { - u8 *intf_dev; - u32 max_iosz; /* USB2.0: 128, USB1.1: 64, SDIO:64 */ - u32 max_xmitsz; /* USB2.0: unlimited, SDIO:512 */ - u32 max_recvsz; /* USB2.0: unlimited, SDIO:512 */ - - u8 *io_rwmem; - u8 *allocated_io_rwmem; - u32 io_wsz; /* unit: 4bytes */ - u32 io_rsz;/* unit: 4bytes */ - u8 intf_status; - - void (*_bus_io)(u8 *priv); - -/* -Under Sync. IRP (SDIO/USB) -A protection mechanism is necessary for the io_rwmem(read/write protocol) - -Under Async. IRP (SDIO/USB) -The protection mechanism is through the pending queue. -*/ - struct mutex ioctl_mutex; - /* when in USB, IO is through interrupt in/out endpoints */ - struct usb_device *udev; - struct urb *piorw_urb; - u8 io_irp_cnt; - u8 bio_irp_pending; - struct timer_list io_timer; - u8 bio_irp_timeout; - u8 bio_timer_cancel; -}; - int netdev_open(struct net_device *pnetdev); int netdev_close(struct net_device *pnetdev); diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 033ea7146861..090555f562f2 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -16,8 +16,6 @@ #include #include -struct intf_priv; - int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data); int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data); int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data); From 36b7dd48b3aaacc28dded0e88a2a4d02e09be870 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:24 +0100 Subject: [PATCH 130/219] staging: r8188eu: simplify the sta loop in rtw_dequeue_xframe Use list_for_each_entry_safe to iterate over the station entries in function rtw_dequeue_xframe instead of coding the loop manually. We have to use the safe version, the loop body may remove a station from the list over which we iterate. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-6-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 5f2426be6c11..b07a1ce21a38 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1377,9 +1377,9 @@ static struct xmit_frame *dequeue_one_xmitframe(struct xmit_priv *pxmitpriv, str struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i) { - struct list_head *sta_plist, *sta_phead; + struct list_head *sta_phead; struct hw_xmit *phwxmit; - struct tx_servq *ptxservq = NULL; + struct tx_servq *ptxservq, *tmp_txservq; struct __queue *pframe_queue = NULL; struct xmit_frame *pxmitframe = NULL; struct adapter *padapter = pxmitpriv->adapter; @@ -1401,10 +1401,8 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi phwxmit = phwxmit_i + inx[i]; sta_phead = get_list_head(phwxmit->sta_queue); - sta_plist = sta_phead->next; - while (sta_phead != sta_plist) { - ptxservq = container_of(sta_plist, struct tx_servq, tx_pending); + list_for_each_entry_safe(ptxservq, tmp_txservq, sta_phead, tx_pending) { pframe_queue = &ptxservq->sta_pending; @@ -1418,8 +1416,6 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi list_del_init(&ptxservq->tx_pending); goto exit; } - - sta_plist = sta_plist->next; } } exit: From ce2e8fa2067f02a00d1364324d589661345b07db Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:25 +0100 Subject: [PATCH 131/219] staging: r8188eu: simplify the code to initialise inx Simplify the code to initialise the inx array in function rtw_dequeue_xframe and make the code a tiny bit smaller. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-7-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index b07a1ce21a38..30bc9405356d 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1384,15 +1384,11 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi struct xmit_frame *pxmitframe = NULL; struct adapter *padapter = pxmitpriv->adapter; struct registry_priv *pregpriv = &padapter->registrypriv; - int i, inx[4]; - - inx[0] = 0; inx[1] = 1; inx[2] = 2; inx[3] = 3; + int i, inx[] = { 0, 1, 2, 3 }; if (pregpriv->wifi_spec == 1) { - int j; - - for (j = 0; j < 4; j++) - inx[j] = pxmitpriv->wmm_para_seq[j]; + for (i = 0; i < ARRAY_SIZE(inx); i++) + inx[i] = pxmitpriv->wmm_para_seq[i]; } spin_lock_bh(&pxmitpriv->lock); From 6a936ea652aba4f1897e3d56633fc09593240db6 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:26 +0100 Subject: [PATCH 132/219] staging: r8188eu: remove an obsolete comment Remove an obsolete comment in rtw_dequeue_xframe. There is no break statement any more. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-8-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 30bc9405356d..a431bffbccf2 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1408,7 +1408,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi phwxmit->accnt--; /* Remove sta node when there are no pending packets. */ - if (list_empty(&pframe_queue->queue)) /* must be done after get_next and before break */ + if (list_empty(&pframe_queue->queue)) list_del_init(&ptxservq->tx_pending); goto exit; } From 22e8707aa1eed5a0c362fc1e1fe5ccd36968e63a Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:27 +0100 Subject: [PATCH 133/219] staging: r8188eu: remove unused function parameter The pxmitpriv parameter in function dequeue_one_xmitframe is not needed. It can be removed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-9-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index a431bffbccf2..aefd32b98d08 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1355,7 +1355,7 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram return _SUCCESS; } -static struct xmit_frame *dequeue_one_xmitframe(struct xmit_priv *pxmitpriv, struct tx_servq *ptxservq, struct __queue *pframe_queue) +static struct xmit_frame *dequeue_one_xmitframe(struct tx_servq *ptxservq, struct __queue *pframe_queue) { struct list_head *xmitframe_plist, *xmitframe_phead; struct xmit_frame *pxmitframe = NULL; @@ -1402,7 +1402,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi pframe_queue = &ptxservq->sta_pending; - pxmitframe = dequeue_one_xmitframe(pxmitpriv, ptxservq, pframe_queue); + pxmitframe = dequeue_one_xmitframe(ptxservq, pframe_queue); if (pxmitframe) { phwxmit->accnt--; From cbdd52099d66d387e67cef9c78400220c4a5d9f4 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:28 +0100 Subject: [PATCH 134/219] staging: r8188eu: remove dead assignment There's no point in moving xmitframe_plist to the next list element. xmitframe_plist is not used any more after this assignment. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-10-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index aefd32b98d08..943e7a56f7ce 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1365,11 +1365,7 @@ static struct xmit_frame *dequeue_one_xmitframe(struct tx_servq *ptxservq, struc if (xmitframe_phead != xmitframe_plist) { pxmitframe = container_of(xmitframe_plist, struct xmit_frame, list); - - xmitframe_plist = xmitframe_plist->next; - list_del_init(&pxmitframe->list); - ptxservq->qcnt--; } return pxmitframe; From d5986148e802d1704720202b1e1c94d69c936ebd Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:29 +0100 Subject: [PATCH 135/219] staging: r8188eu: use list_empty Use list_empty to check for an empty list instead of coding the check manually. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-11-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 943e7a56f7ce..334d75214011 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1363,7 +1363,7 @@ static struct xmit_frame *dequeue_one_xmitframe(struct tx_servq *ptxservq, struc xmitframe_phead = get_list_head(pframe_queue); xmitframe_plist = xmitframe_phead->next; - if (xmitframe_phead != xmitframe_plist) { + if (!list_empty(xmitframe_phead)) { pxmitframe = container_of(xmitframe_plist, struct xmit_frame, list); list_del_init(&pxmitframe->list); ptxservq->qcnt--; From 8d97399bebe8de645489f5ec941b271ae9fe4d31 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:30 +0100 Subject: [PATCH 136/219] staging: r8188eu: simplify dequeue_one_xmitframe Revert the if condition and exit immediately if the list of xmitframes is empty. Hopefully, this makes the code a little bit simpler. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-12-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 334d75214011..96079d9a6c42 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1358,16 +1358,16 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram static struct xmit_frame *dequeue_one_xmitframe(struct tx_servq *ptxservq, struct __queue *pframe_queue) { struct list_head *xmitframe_plist, *xmitframe_phead; - struct xmit_frame *pxmitframe = NULL; + struct xmit_frame *pxmitframe; xmitframe_phead = get_list_head(pframe_queue); - xmitframe_plist = xmitframe_phead->next; + if (list_empty(xmitframe_phead)) + return NULL; - if (!list_empty(xmitframe_phead)) { - pxmitframe = container_of(xmitframe_plist, struct xmit_frame, list); - list_del_init(&pxmitframe->list); - ptxservq->qcnt--; - } + xmitframe_plist = xmitframe_phead->next; + pxmitframe = container_of(xmitframe_plist, struct xmit_frame, list); + list_del_init(&pxmitframe->list); + ptxservq->qcnt--; return pxmitframe; } From c00ed7dde89ae4a04fdd57a78dfcf7d0fcba20b1 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:31 +0100 Subject: [PATCH 137/219] staging: r8188eu: remove redundant parameter The rtl8188eu_xmitframe_complete function takes two parameters: adapter and xmit_priv. xmit_priv is part of struct adapter, this parameter can be removed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-13-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 3 ++- drivers/staging/r8188eu/hal/usb_ops_linux.c | 3 +-- drivers/staging/r8188eu/include/rtl8188e_xmit.h | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c index e097fa14dc6e..e067cc271686 100644 --- a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c +++ b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c @@ -365,8 +365,9 @@ static u32 xmitframe_need_length(struct xmit_frame *pxmitframe) return len; } -bool rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv *pxmitpriv) +bool rtl8188eu_xmitframe_complete(struct adapter *adapt) { + struct xmit_priv *pxmitpriv = &adapt->xmitpriv; struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(adapt); struct xmit_frame *pxmitframe = NULL; struct xmit_frame *pfirstframe = NULL; diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c index 9f008e61a6f2..e122c8ca929c 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -463,7 +463,6 @@ u32 rtw_read_port(struct adapter *adapter, u8 *rmem) void rtl8188eu_xmit_tasklet(unsigned long priv) { struct adapter *adapt = (struct adapter *)priv; - struct xmit_priv *pxmitpriv = &adapt->xmitpriv; if (check_fwstate(&adapt->mlmepriv, _FW_UNDER_SURVEY)) return; @@ -471,5 +470,5 @@ void rtl8188eu_xmit_tasklet(unsigned long priv) do { if (adapt->bDriverStopped || adapt->bSurpriseRemoved || adapt->bWritePortCancel) break; - } while (rtl8188eu_xmitframe_complete(adapt, pxmitpriv)); + } while (rtl8188eu_xmitframe_complete(adapt)); } diff --git a/drivers/staging/r8188eu/include/rtl8188e_xmit.h b/drivers/staging/r8188eu/include/rtl8188e_xmit.h index e6d343ffc148..a023dd792da7 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_xmit.h +++ b/drivers/staging/r8188eu/include/rtl8188e_xmit.h @@ -125,7 +125,6 @@ s32 rtl8188eu_hal_xmit(struct adapter *padapter, struct xmit_frame *frame); s32 rtl8188eu_mgnt_xmit(struct adapter *padapter, struct xmit_frame *frame); s32 rtl8188eu_xmit_buf_handler(struct adapter *padapter); void rtl8188eu_xmit_tasklet(unsigned long priv); -bool rtl8188eu_xmitframe_complete(struct adapter *padapter, - struct xmit_priv *pxmitpriv); +bool rtl8188eu_xmitframe_complete(struct adapter *padapter); #endif /* __RTL8188E_XMIT_H__ */ From 081c4835102538d6efcc0b8d95a1839eb88c19f6 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:32 +0100 Subject: [PATCH 138/219] staging: r8188eu: make rtw_chk_hi_queue_cmd a void function Both callers of rtw_chk_hi_queue_cmd do not check the return value. Convert rtw_chk_hi_queue_cmd to a void function. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-14-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_cmd.c | 16 +++++----------- drivers/staging/r8188eu/include/rtw_cmd.h | 2 +- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188eu/core/rtw_cmd.c index eb79435da355..d57360a68fb3 100644 --- a/drivers/staging/r8188eu/core/rtw_cmd.c +++ b/drivers/staging/r8188eu/core/rtw_cmd.c @@ -1197,24 +1197,20 @@ static void rtw_chk_hi_queue_hdl(struct adapter *padapter) } } -u8 rtw_chk_hi_queue_cmd(struct adapter *padapter) +void rtw_chk_hi_queue_cmd(struct adapter *padapter) { struct cmd_obj *ph2c; struct drvextra_cmd_parm *pdrvextra_cmd_parm; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - u8 res = _SUCCESS; ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC); - if (!ph2c) { - res = _FAIL; - goto exit; - } + if (!ph2c) + return; pdrvextra_cmd_parm = kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC); if (!pdrvextra_cmd_parm) { kfree(ph2c); - res = _FAIL; - goto exit; + return; } pdrvextra_cmd_parm->ec_id = CHECK_HIQ_WK_CID; @@ -1223,9 +1219,7 @@ u8 rtw_chk_hi_queue_cmd(struct adapter *padapter) init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra)); - res = rtw_enqueue_cmd(pcmdpriv, ph2c); -exit: - return res; + rtw_enqueue_cmd(pcmdpriv, ph2c); } u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt) diff --git a/drivers/staging/r8188eu/include/rtw_cmd.h b/drivers/staging/r8188eu/include/rtw_cmd.h index 9df7d4bf441d..e8eecd52d1d8 100644 --- a/drivers/staging/r8188eu/include/rtw_cmd.h +++ b/drivers/staging/r8188eu/include/rtw_cmd.h @@ -743,7 +743,7 @@ u8 rtw_rpt_timer_cfg_cmd(struct adapter *padapter, u16 minRptTime); u8 rtw_antenna_select_cmd(struct adapter *padapter, u8 antenna, u8 enqueue); u8 rtw_ps_cmd(struct adapter *padapter); -u8 rtw_chk_hi_queue_cmd(struct adapter *padapter); +void rtw_chk_hi_queue_cmd(struct adapter *padapter); u8 rtw_set_chplan_cmd(struct adapter *padapter, u8 chplan); From 6500084a41758542c839e280703eddebdd367b10 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:33 +0100 Subject: [PATCH 139/219] staging: r8188eu: decrement qcnt in rtw_dequeue_xframe rtw_dequeue_xframe calls dequeue_one_xmitframe and passes a struct tx_servq. The only use for this parameter is to decrement its qcnt if an xmit_frame could be extracted. It makes more sense to remove the struct tx_servq parameter from dequeue_one_xmitframe and decrement qcnt in the calling function when dequeue_one_xmitframe returns success, i.e. when an xmit_frame was extracted. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-15-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 96079d9a6c42..7802a34ebcfd 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1355,7 +1355,7 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram return _SUCCESS; } -static struct xmit_frame *dequeue_one_xmitframe(struct tx_servq *ptxservq, struct __queue *pframe_queue) +static struct xmit_frame *dequeue_one_xmitframe(struct __queue *pframe_queue) { struct list_head *xmitframe_plist, *xmitframe_phead; struct xmit_frame *pxmitframe; @@ -1367,7 +1367,6 @@ static struct xmit_frame *dequeue_one_xmitframe(struct tx_servq *ptxservq, struc xmitframe_plist = xmitframe_phead->next; pxmitframe = container_of(xmitframe_plist, struct xmit_frame, list); list_del_init(&pxmitframe->list); - ptxservq->qcnt--; return pxmitframe; } @@ -1398,10 +1397,11 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi pframe_queue = &ptxservq->sta_pending; - pxmitframe = dequeue_one_xmitframe(ptxservq, pframe_queue); + pxmitframe = dequeue_one_xmitframe(pframe_queue); if (pxmitframe) { phwxmit->accnt--; + ptxservq->qcnt--; /* Remove sta node when there are no pending packets. */ if (list_empty(&pframe_queue->queue)) From ca21b2db6804d2d1d03e376c8e1dc57b0875d38e Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:34 +0100 Subject: [PATCH 140/219] staging: r8188eu: simplify dequeue_one_xmitframe Simplify the dequeue_one_xmitframe function without changing its behaviour. Drop the temporary variable xmitframe_plist. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-16-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 7802a34ebcfd..79a1999ca809 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1357,15 +1357,13 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram static struct xmit_frame *dequeue_one_xmitframe(struct __queue *pframe_queue) { - struct list_head *xmitframe_plist, *xmitframe_phead; + struct list_head *xmitframe_phead = get_list_head(pframe_queue); struct xmit_frame *pxmitframe; - xmitframe_phead = get_list_head(pframe_queue); if (list_empty(xmitframe_phead)) return NULL; - xmitframe_plist = xmitframe_phead->next; - pxmitframe = container_of(xmitframe_plist, struct xmit_frame, list); + pxmitframe = container_of(xmitframe_phead->next, struct xmit_frame, list); list_del_init(&pxmitframe->list); return pxmitframe; } From dfac03bde0bb7da07b52ade3a8743d52cb97bfa5 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:35 +0100 Subject: [PATCH 141/219] staging: r8188eu: use list_head for xmitframe list The r8188eu driver defines a struct __queue that contains a list_head and a spinlock. struct tx_servq describes a station for which we have pending tx packets. This struct contains a __queue for the pending packets (a __queue of struct xmit_frame entries). In this particular case, the queue's spinlock is not used, we need only the list_head. rtw_dequeue_xframe uses a local variable for such an xmit_frame queue. This patch replaces this variable with a list_head. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-17-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 79a1999ca809..6060a1832431 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1355,15 +1355,14 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram return _SUCCESS; } -static struct xmit_frame *dequeue_one_xmitframe(struct __queue *pframe_queue) +static struct xmit_frame *dequeue_one_xmitframe(struct list_head *xframe_list) { - struct list_head *xmitframe_phead = get_list_head(pframe_queue); struct xmit_frame *pxmitframe; - if (list_empty(xmitframe_phead)) + if (list_empty(xframe_list)) return NULL; - pxmitframe = container_of(xmitframe_phead->next, struct xmit_frame, list); + pxmitframe = container_of(xframe_list->next, struct xmit_frame, list); list_del_init(&pxmitframe->list); return pxmitframe; } @@ -1373,7 +1372,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi struct list_head *sta_phead; struct hw_xmit *phwxmit; struct tx_servq *ptxservq, *tmp_txservq; - struct __queue *pframe_queue = NULL; + struct list_head *xframe_list; struct xmit_frame *pxmitframe = NULL; struct adapter *padapter = pxmitpriv->adapter; struct registry_priv *pregpriv = &padapter->registrypriv; @@ -1393,16 +1392,15 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi list_for_each_entry_safe(ptxservq, tmp_txservq, sta_phead, tx_pending) { - pframe_queue = &ptxservq->sta_pending; - - pxmitframe = dequeue_one_xmitframe(pframe_queue); + xframe_list = get_list_head(&ptxservq->sta_pending); + pxmitframe = dequeue_one_xmitframe(xframe_list); if (pxmitframe) { phwxmit->accnt--; ptxservq->qcnt--; /* Remove sta node when there are no pending packets. */ - if (list_empty(&pframe_queue->queue)) + if (list_empty(xframe_list)) list_del_init(&ptxservq->tx_pending); goto exit; } From 45bbc110e9b3093a058d5f2dcdba0b22c80d228b Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:36 +0100 Subject: [PATCH 142/219] staging: r8188eu: merge dequeue_one_xmitframe into its caller dequeue_one_xmitframe is a small function that is called only from rtw_dequeue_xframe. Merge the two functions. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-18-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 34 +++++++++---------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 6060a1832431..cb0d8346ac10 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1355,18 +1355,6 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram return _SUCCESS; } -static struct xmit_frame *dequeue_one_xmitframe(struct list_head *xframe_list) -{ - struct xmit_frame *pxmitframe; - - if (list_empty(xframe_list)) - return NULL; - - pxmitframe = container_of(xframe_list->next, struct xmit_frame, list); - list_del_init(&pxmitframe->list); - return pxmitframe; -} - struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i) { struct list_head *sta_phead; @@ -1391,19 +1379,21 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi sta_phead = get_list_head(phwxmit->sta_queue); list_for_each_entry_safe(ptxservq, tmp_txservq, sta_phead, tx_pending) { - xframe_list = get_list_head(&ptxservq->sta_pending); - pxmitframe = dequeue_one_xmitframe(xframe_list); + if (list_empty(xframe_list)) + continue; - if (pxmitframe) { - phwxmit->accnt--; - ptxservq->qcnt--; + pxmitframe = container_of(xframe_list->next, struct xmit_frame, list); + list_del_init(&pxmitframe->list); - /* Remove sta node when there are no pending packets. */ - if (list_empty(xframe_list)) - list_del_init(&ptxservq->tx_pending); - goto exit; - } + phwxmit->accnt--; + ptxservq->qcnt--; + + /* Remove sta node when there are no pending packets. */ + if (list_empty(xframe_list)) + list_del_init(&ptxservq->tx_pending); + + goto exit; } } exit: From e558c192787ed698c48ec2ae6a56e95eb4084cfd Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:37 +0100 Subject: [PATCH 143/219] staging: r8188eu: use lists for hwxmits struct hw_xmit's sta_list points to one of vo, vi, be or bk_pending in struct xmit_priv. All of these are defined as struct __queue, which is a list plus a spinlock. For these components, the spinlock is unused, we need only the list. This patch converts sta_list and vo, vi, be and bk_pending to struct list_head. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-19-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 32 ++++++++++------------ drivers/staging/r8188eu/include/rtw_xmit.h | 10 +++---- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index cb0d8346ac10..ef6d3a9bffea 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -76,10 +76,10 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) pxmitpriv->adapter = padapter; - rtw_init_queue(&pxmitpriv->be_pending); - rtw_init_queue(&pxmitpriv->bk_pending); - rtw_init_queue(&pxmitpriv->vi_pending); - rtw_init_queue(&pxmitpriv->vo_pending); + INIT_LIST_HEAD(&pxmitpriv->be_pending); + INIT_LIST_HEAD(&pxmitpriv->bk_pending); + INIT_LIST_HEAD(&pxmitpriv->vi_pending); + INIT_LIST_HEAD(&pxmitpriv->vo_pending); rtw_init_queue(&pxmitpriv->free_xmit_queue); @@ -881,10 +881,10 @@ s32 rtw_txframes_pending(struct adapter *padapter) { struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - return (!list_empty(&pxmitpriv->be_pending.queue) || - !list_empty(&pxmitpriv->bk_pending.queue) || - !list_empty(&pxmitpriv->vi_pending.queue) || - !list_empty(&pxmitpriv->vo_pending.queue)); + return (!list_empty(&pxmitpriv->be_pending) || + !list_empty(&pxmitpriv->bk_pending) || + !list_empty(&pxmitpriv->vi_pending) || + !list_empty(&pxmitpriv->vo_pending)); } s32 rtw_txframes_sta_ac_pending(struct adapter *padapter, struct pkt_attrib *pattrib) @@ -1357,7 +1357,6 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i) { - struct list_head *sta_phead; struct hw_xmit *phwxmit; struct tx_servq *ptxservq, *tmp_txservq; struct list_head *xframe_list; @@ -1375,10 +1374,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi for (i = 0; i < HWXMIT_ENTRY; i++) { phwxmit = phwxmit_i + inx[i]; - - sta_phead = get_list_head(phwxmit->sta_queue); - - list_for_each_entry_safe(ptxservq, tmp_txservq, sta_phead, tx_pending) { + list_for_each_entry_safe(ptxservq, tmp_txservq, phwxmit->sta_list, tx_pending) { xframe_list = get_list_head(&ptxservq->sta_pending); if (list_empty(xframe_list)) continue; @@ -1460,7 +1456,7 @@ s32 rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe) ptxservq = rtw_get_sta_pending(padapter, psta, pattrib->priority, (u8 *)(&ac_index)); if (list_empty(&ptxservq->tx_pending)) - list_add_tail(&ptxservq->tx_pending, get_list_head(phwxmits[ac_index].sta_queue)); + list_add_tail(&ptxservq->tx_pending, phwxmits[ac_index].sta_list); list_add_tail(&pxmitframe->list, get_list_head(&ptxservq->sta_pending)); ptxservq->qcnt++; @@ -1481,10 +1477,10 @@ int rtw_alloc_hwxmits(struct adapter *padapter) hwxmits = pxmitpriv->hwxmits; - hwxmits[0].sta_queue = &pxmitpriv->vo_pending; - hwxmits[1].sta_queue = &pxmitpriv->vi_pending; - hwxmits[2].sta_queue = &pxmitpriv->be_pending; - hwxmits[3].sta_queue = &pxmitpriv->bk_pending; + hwxmits[0].sta_list = &pxmitpriv->vo_pending; + hwxmits[1].sta_list = &pxmitpriv->vi_pending; + hwxmits[2].sta_list = &pxmitpriv->be_pending; + hwxmits[3].sta_list = &pxmitpriv->bk_pending; return 0; } diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index cc32167fb4dc..30f8000120b2 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -97,7 +97,7 @@ union txdesc { }; struct hw_xmit { - struct __queue *sta_queue; + struct list_head *sta_list; int accnt; }; @@ -257,10 +257,10 @@ struct agg_pkt_info { struct xmit_priv { spinlock_t lock; - struct __queue be_pending; - struct __queue bk_pending; - struct __queue vi_pending; - struct __queue vo_pending; + struct list_head be_pending; + struct list_head bk_pending; + struct list_head vi_pending; + struct list_head vo_pending; u8 *pallocated_frame_buf; u8 *pxmit_frame_buf; uint free_xmitframe_cnt; From 9c07d8cc8837486a9e619154ffa5d391894f8715 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:38 +0100 Subject: [PATCH 144/219] staging: r8188eu: fix rtw_xmitframe_enqueue error handling In function rtw_xmitframe_enqueue, we can simply relay the error code from rtw_xmit_classifier. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-20-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index ef6d3a9bffea..4f9defdbe257 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1347,12 +1347,7 @@ void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pfram s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe) { - if (rtw_xmit_classifier(padapter, pxmitframe) == _FAIL) { -/* pxmitframe->pkt = NULL; */ - return _FAIL; - } - - return _SUCCESS; + return rtw_xmit_classifier(padapter, pxmitframe); } struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i) From a548cdc58be01f00b211836b8f1cf29269e3d9b2 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:39 +0100 Subject: [PATCH 145/219] staging: r8188eu: remove rtw_xmitframe_enqueue The rtw_xmitframe_enqueue function is only one line. We can remove it and call rtw_xmit_classifier directly. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-21-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 5 ----- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 2 +- drivers/staging/r8188eu/include/rtw_xmit.h | 2 -- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 4f9defdbe257..3752d4fddd11 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1345,11 +1345,6 @@ void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pfram spin_unlock_bh(&pframequeue->lock); } -s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe) -{ - return rtw_xmit_classifier(padapter, pxmitframe); -} - struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i) { struct hw_xmit *phwxmit; diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c index e067cc271686..18557738dbad 100644 --- a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c +++ b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c @@ -596,7 +596,7 @@ static s32 pre_xmitframe(struct adapter *adapt, struct xmit_frame *pxmitframe) return true; enqueue: - res = rtw_xmitframe_enqueue(adapt, pxmitframe); + res = rtw_xmit_classifier(adapt, pxmitframe); spin_unlock_bh(&pxmitpriv->lock); if (res != _SUCCESS) { diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 30f8000120b2..4aa7833487c8 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -320,8 +320,6 @@ void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue); struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, int up, u8 *ac); -s32 rtw_xmitframe_enqueue(struct adapter *padapter, - struct xmit_frame *pxmitframe); struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i); From b666a3ea67a66cc97c7f4423b67b42425fc0cc7f Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:40 +0100 Subject: [PATCH 146/219] staging: r8188eu: struct agg_pkt_info is unused struct agg_pkt_info is not used in the r8188eu driver. Remove it. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-22-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_xmit.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 4aa7833487c8..548d2cfb88ec 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -250,11 +250,6 @@ struct hw_txqueue { int ac_tag; }; -struct agg_pkt_info { - u16 offset; - u16 pkt_len; -}; - struct xmit_priv { spinlock_t lock; struct list_head be_pending; From b87a04c4a8480fd1fcb6f8eb254b0373cb0ca980 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:41 +0100 Subject: [PATCH 147/219] staging: r8188eu: apsd_setting is unused apsd_setting in struct tx_servq is not used, it can be removed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-23-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_xmit.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 548d2cfb88ec..33c3031de2c4 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -228,8 +228,6 @@ struct tx_servq { struct sta_xmit_priv { spinlock_t lock; int option; - int apsd_setting; /* When bit mask is on, the associated edca - * queue supports APSD. */ struct tx_servq be_q; /* priority == 0,3 */ struct tx_servq bk_q; /* priority == 1,2 */ struct tx_servq vi_q; /* priority == 4,5 */ From cfe635af8a1310468d0cce41485759e7604d3bca Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 23 Jan 2023 21:53:42 +0100 Subject: [PATCH 148/219] staging: r8188eu: merge rtw_free_hwxmits into its only caller rtw_free_hwxmits is called only by _rtw_free_xmit_priv. We can merge the two functions and make the code a bit shorter. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230123205342.229589-24-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 11 +---------- drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 3752d4fddd11..f50e10f0d51f 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -281,7 +281,7 @@ void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv) vfree(pxmitpriv->pallocated_xmit_extbuf); - rtw_free_hwxmits(padapter); + kfree(pxmitpriv->hwxmits); mutex_destroy(&pxmitpriv->ack_tx_mutex); } @@ -1475,15 +1475,6 @@ int rtw_alloc_hwxmits(struct adapter *padapter) return 0; } -void rtw_free_hwxmits(struct adapter *padapter) -{ - struct hw_xmit *hwxmits; - struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - - hwxmits = pxmitpriv->hwxmits; - kfree(hwxmits); -} - static int rtw_br_client_tx(struct adapter *padapter, struct sk_buff **pskb) { struct sk_buff *skb = *pskb; diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 33c3031de2c4..d8808e68f778 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -328,7 +328,6 @@ s32 rtw_txframes_sta_ac_pending(struct adapter *padapter, int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter); void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv); int rtw_alloc_hwxmits(struct adapter *padapter); -void rtw_free_hwxmits(struct adapter *padapter); s32 rtw_xmit(struct adapter *padapter, struct sk_buff **pkt); int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct xmit_frame *pxmitframe); From f9a8a192300026b8729d3498fc9134ea9bf9368f Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Mon, 23 Jan 2023 20:16:29 +0100 Subject: [PATCH 149/219] staging: vchiq_arm: Improve error log for vchiq_platform_init During sending the base address of the slots to the VideoCore firmware via mailbox property, issues could happened on the ARM and on the VideoCore side. So better separate the error handling in order to provide more details. This should help to narrow down the possible cause. Signed-off-by: Stefan Wahren Reviewed-by: Umang Jain Link: https://lore.kernel.org/r/20230123191629.21019-1-stefan.wahren@i2se.com Signed-off-by: Greg Kroah-Hartman --- .../vc04_services/interface/vchiq_arm/vchiq_arm.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c index 22de23f3af02..cddcd3c596c9 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -541,9 +541,15 @@ int vchiq_platform_init(struct platform_device *pdev, struct vchiq_state *state) channelbase = slot_phys; err = rpi_firmware_property(fw, RPI_FIRMWARE_VCHIQ_INIT, &channelbase, sizeof(channelbase)); - if (err || channelbase) { - dev_err(dev, "failed to set channelbase\n"); - return err ? : -ENXIO; + if (err) { + dev_err(dev, "failed to send firmware property: %d\n", err); + return err; + } + + if (channelbase) { + dev_err(dev, "failed to set channelbase (response: %x)\n", + channelbase); + return -ENXIO; } vchiq_log_info(vchiq_arm_log_level, "vchiq_init - done (slots %pK, phys %pad)", From 29c6d9394874dbccef61482c72ae3e9f6177fbe0 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 25 Jan 2023 21:08:22 +0100 Subject: [PATCH 150/219] staging: rtl8192e: Remove unused variables rxrdu and rxok rxrdu and rxok are initialized and increased but never read. Remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/20738d339066e36f5347c7e5011bd3d1aa3e4f53.1674675808.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 2 -- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 80450d46191c..605146c840c7 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -1938,7 +1938,6 @@ static void _rtl92e_rx_normal(struct net_device *dev) if (!rtllib_rx(priv->rtllib, skb, &stats)) { dev_kfree_skb_any(skb); } else { - priv->stats.rxok++; if (unicast_packet) priv->stats.rxbytesunicast += skb_len; } @@ -2186,7 +2185,6 @@ static irqreturn_t _rtl92e_irq(int irq, void *netdev) tasklet_schedule(&priv->irq_prepare_beacon_tasklet); if (inta & IMR_RDU) { - priv->stats.rxrdu++; rtl92e_writel(dev, INTA_MASK, rtl92e_readl(dev, INTA_MASK) & ~IMR_RDU); tasklet_schedule(&priv->irq_rx_tasklet); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 983bc663a570..82cbc7f5536a 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -183,8 +183,6 @@ enum reset_type { }; struct rt_stats { - unsigned long rxrdu; - unsigned long rxok; unsigned long rxdatacrcerr; unsigned long rxmgmtcrcerr; unsigned long rxcrcerrmin; From baa988e1b711cbcede35e2c53d40b8871d1f5081 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 25 Jan 2023 21:08:31 +0100 Subject: [PATCH 151/219] staging: rtl8192e: Remove unused variables rxdatacrcerr and rxmgmtcrcerr rxdatacrcerr and rxmgmtcrcerr are initialized and increased but never read. Remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/32c9183fa2f4edd24ae6f93d56b808eb1821832b.1674675808.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 7 ------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 2 -- 2 files changed, 9 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 605146c840c7..e0d0f4faeca7 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -1926,13 +1926,6 @@ static void _rtl92e_rx_normal(struct net_device *dev) priv->rtllib->LedControlHandler(dev, LED_CTL_RX); - if (stats.bCRC) { - if (type != RTLLIB_FTYPE_MGMT) - priv->stats.rxdatacrcerr++; - else - priv->stats.rxmgmtcrcerr++; - } - skb_len = skb->len; if (!rtllib_rx(priv->rtllib, skb, &stats)) { diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 82cbc7f5536a..f91a6f7a4e0a 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -183,8 +183,6 @@ enum reset_type { }; struct rt_stats { - unsigned long rxdatacrcerr; - unsigned long rxmgmtcrcerr; unsigned long rxcrcerrmin; unsigned long rxcrcerrmid; unsigned long rxcrcerrmax; From 3690e799821ef8227d31275209ead7ed03e236ab Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 25 Jan 2023 21:08:40 +0100 Subject: [PATCH 152/219] staging: rtl8192e: Remove unused variables rxcrcerrmin and friends rxcrcerrmin, rxcrcerrmax and rxcrcerrmid are initialized and increased but never read. Remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/4c791fbb3559ce15de60b7bdcabbc50b0ee9adb9.1674675808.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 10 ---------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 3 --- 2 files changed, 13 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 9260d308e68b..e9273dfb638e 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1812,7 +1812,6 @@ static void _rtl92e_update_received_rate_histogram_stats( bool rtl92e_get_rx_stats(struct net_device *dev, struct rtllib_rx_stats *stats, struct rx_desc *pdesc, struct sk_buff *skb) { - struct r8192_priv *priv = rtllib_priv(dev); struct rx_fwinfo *pDrvInfo = NULL; stats->bICV = pdesc->ICV; @@ -1825,15 +1824,6 @@ bool rtl92e_get_rx_stats(struct net_device *dev, struct rtllib_rx_stats *stats, if (stats->bHwError) { stats->bShift = false; - - if (pdesc->CRC32) { - if (pdesc->Length < 500) - priv->stats.rxcrcerrmin++; - else if (pdesc->Length > 1000) - priv->stats.rxcrcerrmax++; - else - priv->stats.rxcrcerrmid++; - } return false; } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index f91a6f7a4e0a..167c4aeea44e 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -183,9 +183,6 @@ enum reset_type { }; struct rt_stats { - unsigned long rxcrcerrmin; - unsigned long rxcrcerrmid; - unsigned long rxcrcerrmax; unsigned long received_rate_histogram[4][32]; unsigned long received_preamble_GI[2][32]; unsigned long numpacket_matchbssid; From 58e7509dac66c008a9085c490127590cc9ab0fa2 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 25 Jan 2023 21:08:47 +0100 Subject: [PATCH 153/219] staging: rtl8192e: Remove unused variables numpacket.. and received_pre.. numpacket_toself, numpacket_matchbssid and received_preamble_GI are initialized and increased but never read. Remove dead code. As a result the local variable preamble_guardinterval is unused. Remove it also. Reported-by: kernel test robot Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/0ed5f4134176393110fdb0b7424df7a8a6fc6262.1674675808.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 11 ----------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 3 --- 2 files changed, 14 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index e9273dfb638e..b4651cea07a1 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1685,10 +1685,6 @@ static void _rtl92e_translate_rx_signal_stats(struct net_device *dev, ether_addr_equal(praddr, priv->rtllib->dev->dev_addr); if (WLAN_FC_GET_FRAMETYPE(fc) == RTLLIB_STYPE_BEACON) bPacketBeacon = true; - if (bpacket_match_bssid) - priv->stats.numpacket_matchbssid++; - if (bpacket_toself) - priv->stats.numpacket_toself++; _rtl92e_process_phyinfo(priv, tmp_buf, &previous_stats, pstats); _rtl92e_query_rxphystatus(priv, pstats, pdesc, pdrvinfo, &previous_stats, bpacket_match_bssid, @@ -1703,18 +1699,12 @@ static void _rtl92e_update_received_rate_histogram_stats( struct r8192_priv *priv = (struct r8192_priv *)rtllib_priv(dev); u32 rcvType = 1; u32 rateIndex; - u32 preamble_guardinterval; if (pstats->bCRC) rcvType = 2; else if (pstats->bICV) rcvType = 3; - if (pstats->bShortPreamble) - preamble_guardinterval = 1; - else - preamble_guardinterval = 0; - switch (pstats->rate) { case MGN_1M: rateIndex = 0; @@ -1804,7 +1794,6 @@ static void _rtl92e_update_received_rate_histogram_stats( rateIndex = 28; break; } - priv->stats.received_preamble_GI[preamble_guardinterval][rateIndex]++; priv->stats.received_rate_histogram[0][rateIndex]++; priv->stats.received_rate_histogram[rcvType][rateIndex]++; } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 167c4aeea44e..70767238e721 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -184,9 +184,6 @@ enum reset_type { struct rt_stats { unsigned long received_rate_histogram[4][32]; - unsigned long received_preamble_GI[2][32]; - unsigned long numpacket_matchbssid; - unsigned long numpacket_toself; unsigned long num_process_phyinfo; unsigned long numqry_phystatus; unsigned long numqry_phystatusCCK; From a4a2a256a70261a3751bffdce93d38cafc17ec07 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 25 Jan 2023 21:08:53 +0100 Subject: [PATCH 154/219] staging: rtl8192e: Remove unused variables numqry_.. numqry_phystatus, numqry_phystatusCCK and numqry_phystatusHT are initialized and increased but never read. Remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/20aedc3bd3cc860ee8d86d205461f479ac201fea.1674675808.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 4 ---- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 3 --- 2 files changed, 7 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index b4651cea07a1..f62547e54261 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1308,8 +1308,6 @@ static void _rtl92e_query_rxphystatus( static u8 check_reg824; static u32 reg824_bit9; - priv->stats.numqry_phystatus++; - is_cck_rate = rx_hal_is_cck_rate(pdrvinfo); memset(precord_stats, 0, sizeof(struct rtllib_rx_stats)); pstats->bPacketMatchBSSID = precord_stats->bPacketMatchBSSID = @@ -1341,7 +1339,6 @@ static void _rtl92e_query_rxphystatus( if (is_cck_rate) { u8 report; - priv->stats.numqry_phystatusCCK++; if (!reg824_bit9) { report = pcck_buf->cck_agc_rpt & 0xc0; report >>= 6; @@ -1416,7 +1413,6 @@ static void _rtl92e_query_rxphystatus( precord_stats->RxMIMOSignalQuality[1] = -1; } } else { - priv->stats.numqry_phystatusHT++; for (i = RF90_PATH_A; i < RF90_PATH_MAX; i++) { if (priv->brfpath_rxenable[i]) rf_rx_num++; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 70767238e721..e38de4d8a467 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -185,9 +185,6 @@ enum reset_type { struct rt_stats { unsigned long received_rate_histogram[4][32]; unsigned long num_process_phyinfo; - unsigned long numqry_phystatus; - unsigned long numqry_phystatusCCK; - unsigned long numqry_phystatusHT; unsigned long received_bwtype[5]; unsigned long rxoverflow; unsigned long rxint; From 0d55d6ec2e286cfa04babd41183c06a712237ab1 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 25 Jan 2023 21:08:59 +0100 Subject: [PATCH 155/219] staging: rtl8192e: Remove unused variables num_proc.., recei.. and rxov.. num_process_phyinfo, received_bwtype and rxoverflow are initialized and increased but never read. Remove dead code. As a result prxsc is unused which in result makes rxsc_sgien_exflg unused. Remove prxsc and rxsc_sgien_exflg as well. Reported-by: kernel test robot Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/ff9daec237b795a01629080d0d5f7ec73b2d89da.1674675808.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 13 +------------ drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 4 +--- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 3 --- 3 files changed, 2 insertions(+), 18 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index f62547e54261..9d13fda33fbf 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1296,9 +1296,8 @@ static void _rtl92e_query_rxphystatus( { struct phy_sts_ofdm_819xpci *pofdm_buf; struct phy_sts_cck_819xpci *pcck_buf; - struct phy_ofdm_rx_status_rxsc_sgien_exintfflag *prxsc; u8 *prxpkt; - u8 i, max_spatial_stream, tmp_rxsnr, tmp_rxevm, rxsc_sgien_exflg; + u8 i, max_spatial_stream, tmp_rxsnr, tmp_rxevm; s8 rx_pwr[4], rx_pwr_all = 0; s8 rx_snrX, rx_evmX; u8 evm, pwdb_all; @@ -1464,15 +1463,6 @@ static void _rtl92e_query_rxphystatus( precord_stats->RxMIMOSignalQuality[i] = evm & 0xff; } } - - - rxsc_sgien_exflg = pofdm_buf->rxsc_sgien_exflg; - prxsc = (struct phy_ofdm_rx_status_rxsc_sgien_exintfflag *) - &rxsc_sgien_exflg; - if (pdrvinfo->BW) - priv->stats.received_bwtype[1+prxsc->rxsc]++; - else - priv->stats.received_bwtype[0]++; } if (is_cck_rate) { @@ -1535,7 +1525,6 @@ static void _rtl92e_process_phyinfo(struct r8192_priv *priv, u8 *buffer, if (!bcheck) return; - priv->stats.num_process_phyinfo++; if (!prev_st->bIsCCK && prev_st->bPacketToSelf) { for (rfpath = RF90_PATH_A; rfpath < RF90_PATH_C; rfpath++) { if (!rtl92e_is_legal_rf_path(priv->rtllib->dev, rfpath)) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index e0d0f4faeca7..c5fe8e0aa83f 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -2183,10 +2183,8 @@ static irqreturn_t _rtl92e_irq(int irq, void *netdev) tasklet_schedule(&priv->irq_rx_tasklet); } - if (inta & IMR_RXFOVW) { - priv->stats.rxoverflow++; + if (inta & IMR_RXFOVW) tasklet_schedule(&priv->irq_rx_tasklet); - } if (inta & IMR_TXFOVW) priv->stats.txoverflow++; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index e38de4d8a467..bb942283bc7a 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -184,9 +184,6 @@ enum reset_type { struct rt_stats { unsigned long received_rate_histogram[4][32]; - unsigned long num_process_phyinfo; - unsigned long received_bwtype[5]; - unsigned long rxoverflow; unsigned long rxint; unsigned long ints; unsigned long shints; From f345b9779b8a58efc990c3c5c0e11eb258ba11dc Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 25 Jan 2023 21:09:06 +0100 Subject: [PATCH 156/219] staging: rtl8192e: Remove unused variables rxint, ints and shints rxint, ints and shints are initialized and increased but never read. Remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/ee6ee009d139a3da3d2c171d7ac6454271b4da9b.1674675808.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 7 +------ drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 3 --- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index c5fe8e0aa83f..ff9dc06642f6 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -2123,7 +2123,6 @@ static irqreturn_t _rtl92e_irq(int irq, void *netdev) spin_lock_irqsave(&priv->irq_th_lock, flags); priv->ops->interrupt_recognized(dev, &inta, &intb); - priv->stats.shints++; if (!inta) { spin_unlock_irqrestore(&priv->irq_th_lock, flags); @@ -2135,8 +2134,6 @@ static irqreturn_t _rtl92e_irq(int irq, void *netdev) goto done; } - priv->stats.ints++; - if (!netif_running(dev)) { spin_unlock_irqrestore(&priv->irq_th_lock, flags); goto done; @@ -2169,10 +2166,8 @@ static irqreturn_t _rtl92e_irq(int irq, void *netdev) if (inta & IMR_HIGHDOK) _rtl92e_tx_isr(dev, HIGH_QUEUE); - if (inta & IMR_ROK) { - priv->stats.rxint++; + if (inta & IMR_ROK) tasklet_schedule(&priv->irq_rx_tasklet); - } if (inta & IMR_BcnInt) tasklet_schedule(&priv->irq_prepare_beacon_tasklet); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index bb942283bc7a..2d1561a202d0 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -184,9 +184,6 @@ enum reset_type { struct rt_stats { unsigned long received_rate_histogram[4][32]; - unsigned long rxint; - unsigned long ints; - unsigned long shints; unsigned long txoverflow; unsigned long txbeokint; unsigned long txbkokint; From 576a1948326457fa435810a1eaebd8c4879e44e2 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 25 Jan 2023 21:09:14 +0100 Subject: [PATCH 157/219] staging: rtl8192e: Remove unused variables txov.., txbeokint and txbkokint txoverflow, txbeokint and txbkokint are initialized and increased but never read. Remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/023f612dc35eca3a74c31344f7dbb168180bf437.1674675808.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 5 ----- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 3 --- 2 files changed, 8 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index ff9dc06642f6..768324cbe253 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -2181,17 +2181,12 @@ static irqreturn_t _rtl92e_irq(int irq, void *netdev) if (inta & IMR_RXFOVW) tasklet_schedule(&priv->irq_rx_tasklet); - if (inta & IMR_TXFOVW) - priv->stats.txoverflow++; - if (inta & IMR_BKDOK) { - priv->stats.txbkokint++; priv->rtllib->link_detect_info.NumTxOkInPeriod++; _rtl92e_tx_isr(dev, BK_QUEUE); } if (inta & IMR_BEDOK) { - priv->stats.txbeokint++; priv->rtllib->link_detect_info.NumTxOkInPeriod++; _rtl92e_tx_isr(dev, BE_QUEUE); } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 2d1561a202d0..96d340f686e9 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -184,9 +184,6 @@ enum reset_type { struct rt_stats { unsigned long received_rate_histogram[4][32]; - unsigned long txoverflow; - unsigned long txbeokint; - unsigned long txbkokint; unsigned long txviokint; unsigned long txvookint; unsigned long txbeaconokint; From 5f08cb0d9a51b3d87ebc0de70343c148c3dcdb01 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 25 Jan 2023 21:09:20 +0100 Subject: [PATCH 158/219] staging: rtl8192e: Remove unused variables txviok.., txvook.. and txbea.. txviokint, txvookint and txbeaconokint are initialized and increased but never read. Remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/c45501eee5fbf2cc3e5ad999bbbe8e071e341a2c.1674675808.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 5 ----- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 3 --- 2 files changed, 8 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 768324cbe253..4cc90425fa4c 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -2139,9 +2139,6 @@ static irqreturn_t _rtl92e_irq(int irq, void *netdev) goto done; } - if (inta & IMR_TBDOK) - priv->stats.txbeaconokint++; - if (inta & IMR_TBDER) priv->stats.txbeaconerr++; @@ -2192,13 +2189,11 @@ static irqreturn_t _rtl92e_irq(int irq, void *netdev) } if (inta & IMR_VIDOK) { - priv->stats.txviokint++; priv->rtllib->link_detect_info.NumTxOkInPeriod++; _rtl92e_tx_isr(dev, VI_QUEUE); } if (inta & IMR_VODOK) { - priv->stats.txvookint++; priv->rtllib->link_detect_info.NumTxOkInPeriod++; _rtl92e_tx_isr(dev, VO_QUEUE); } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 96d340f686e9..f8b2201ea288 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -184,9 +184,6 @@ enum reset_type { struct rt_stats { unsigned long received_rate_histogram[4][32]; - unsigned long txviokint; - unsigned long txvookint; - unsigned long txbeaconokint; unsigned long txbeaconerr; unsigned long txmanageokint; unsigned long txcmdpktokint; From 1faee1c4d02f7fb4b43fb9d83d6073a32e194c27 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 25 Jan 2023 21:09:26 +0100 Subject: [PATCH 159/219] staging: rtl8192e: Remove unused variables txbeac.., txman.. and txcmdp.. txbeaconerr, txmanageokint and txcmdpktokint are initialized and increased but never read. Remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/6c922591c48512692f77729ac91849ebb4e61bd1.1674675808.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 8 +------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 3 --- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 4cc90425fa4c..2c5edda74e73 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -2139,11 +2139,7 @@ static irqreturn_t _rtl92e_irq(int irq, void *netdev) goto done; } - if (inta & IMR_TBDER) - priv->stats.txbeaconerr++; - if (inta & IMR_MGNTDOK) { - priv->stats.txmanageokint++; _rtl92e_tx_isr(dev, MGNT_QUEUE); spin_unlock_irqrestore(&priv->irq_th_lock, flags); if (priv->rtllib->ack_tx_to_ieee) { @@ -2155,10 +2151,8 @@ static irqreturn_t _rtl92e_irq(int irq, void *netdev) spin_lock_irqsave(&priv->irq_th_lock, flags); } - if (inta & IMR_COMDOK) { - priv->stats.txcmdpktokint++; + if (inta & IMR_COMDOK) _rtl92e_tx_isr(dev, TXCMD_QUEUE); - } if (inta & IMR_HIGHDOK) _rtl92e_tx_isr(dev, HIGH_QUEUE); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index f8b2201ea288..c6a4ac6ce959 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -184,9 +184,6 @@ enum reset_type { struct rt_stats { unsigned long received_rate_histogram[4][32]; - unsigned long txbeaconerr; - unsigned long txmanageokint; - unsigned long txcmdpktokint; unsigned long txbytesmulticast; unsigned long txbytesbroadcast; unsigned long txbytesunicast; From ed9700c1657dc3be4ff72497626dab712ea0e2ed Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 25 Jan 2023 21:09:32 +0100 Subject: [PATCH 160/219] staging: rtl8192e: Remove unused variables txbytes.., txbyt.. and signa.. txbytesmulticast, txbytesbroadcast and signal_quality are initialized and increased or set but never read. Remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/c469f82619625fecbed95532967cc7ec2b12e5f9.1674675808.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 1 - drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 6 +----- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 3 --- 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 9d13fda33fbf..3989d484cc33 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1613,7 +1613,6 @@ static void _rtl92e_process_phyinfo(struct r8192_priv *priv, u8 *buffer, tmp_val = priv->stats.slide_evm_total / slide_evm_statistics; - priv->stats.signal_quality = tmp_val; priv->stats.last_signal_strength_inpercent = tmp_val; } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 2c5edda74e73..f8a8ece40ac1 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -1616,11 +1616,7 @@ static short _rtl92e_tx(struct net_device *dev, struct sk_buff *skb) type = WLAN_FC_GET_TYPE(fc); pda_addr = header->addr1; - if (is_broadcast_ether_addr(pda_addr)) - priv->stats.txbytesbroadcast += skb->len - fwinfo_size; - else if (is_multicast_ether_addr(pda_addr)) - priv->stats.txbytesmulticast += skb->len - fwinfo_size; - else + if (!is_broadcast_ether_addr(pda_addr) && !is_multicast_ether_addr(pda_addr)) priv->stats.txbytesunicast += skb->len - fwinfo_size; spin_lock_irqsave(&priv->irq_th_lock, flags); diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index c6a4ac6ce959..4cf776094ac0 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -184,8 +184,6 @@ enum reset_type { struct rt_stats { unsigned long received_rate_histogram[4][32]; - unsigned long txbytesmulticast; - unsigned long txbytesbroadcast; unsigned long txbytesunicast; unsigned long rxbytesunicast; unsigned long txretrycount; @@ -195,7 +193,6 @@ struct rt_stats { unsigned long slide_rssi_total; unsigned long slide_evm_total; long signal_strength; - long signal_quality; long last_signal_strength_inpercent; long recv_signal_power; u8 rx_rssi_percentage[4]; From cbfc31a71d664bece503190f890b897e76d708f8 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 24 Jan 2023 22:01:05 +0100 Subject: [PATCH 161/219] staging: r8188eu: usb_read_port_complete needs no regs parameter Remove the regs parameter from usb_read_port_complete, it is not used. Without the regs parameter, there's no need for the define that makes usb_read_port_complete usable as urb callback function. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230124210108.62170-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/usb_ops_linux.c | 2 +- drivers/staging/r8188eu/include/usb_ops_linux.h | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c index e122c8ca929c..0f789d5250db 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -344,7 +344,7 @@ void rtl8188eu_recv_tasklet(unsigned long priv) } } -static void usb_read_port_complete(struct urb *purb, struct pt_regs *regs) +static void usb_read_port_complete(struct urb *purb) { struct recv_buf *precvbuf = (struct recv_buf *)purb->context; struct adapter *adapt = (struct adapter *)precvbuf->adapter; diff --git a/drivers/staging/r8188eu/include/usb_ops_linux.h b/drivers/staging/r8188eu/include/usb_ops_linux.h index e406a1fccda7..0a8fefbd4c2e 100644 --- a/drivers/staging/r8188eu/include/usb_ops_linux.h +++ b/drivers/staging/r8188eu/include/usb_ops_linux.h @@ -19,8 +19,6 @@ usb_bulkout_zero_complete(purb) #define usb_write_mem_complete(purb, regs) \ usb_write_mem_complete(purb) -#define usb_read_port_complete(purb, regs) \ - usb_read_port_complete(purb) #define usb_read_interrupt_complete(purb, regs) \ usb_read_interrupt_complete(purb) From 3dc04d5b5327eae02b0a237df4676973acd9cce6 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 24 Jan 2023 22:01:06 +0100 Subject: [PATCH 162/219] staging: r8188eu: remove defines that strip regs parameter usb_ops_linux.h has a number of defines that strip the regs parameter from function that should be used as urb callbacks. Remove the defines for functions that don't exist in the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230124210108.62170-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/usb_ops_linux.h | 9 --------- 1 file changed, 9 deletions(-) diff --git a/drivers/staging/r8188eu/include/usb_ops_linux.h b/drivers/staging/r8188eu/include/usb_ops_linux.h index 0a8fefbd4c2e..c7a0dc482761 100644 --- a/drivers/staging/r8188eu/include/usb_ops_linux.h +++ b/drivers/staging/r8188eu/include/usb_ops_linux.h @@ -13,13 +13,4 @@ #define RTW_USB_BULKOUT_TIME 5000/* ms */ -#define _usbctrl_vendorreq_async_callback(urb, regs) \ - _usbctrl_vendorreq_async_callback(urb) -#define usb_bulkout_zero_complete(purb, regs) \ - usb_bulkout_zero_complete(purb) -#define usb_write_mem_complete(purb, regs) \ - usb_write_mem_complete(purb) -#define usb_read_interrupt_complete(purb, regs) \ - usb_read_interrupt_complete(purb) - #endif From e39c36d0d01cc586dfe3df7a1727ba80f4feeba6 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 24 Jan 2023 22:01:07 +0100 Subject: [PATCH 163/219] staging: r8188eu: remove unused defines Remove some unused defines from usb_ops_linux.h. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230124210108.62170-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/usb_ops_linux.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/staging/r8188eu/include/usb_ops_linux.h b/drivers/staging/r8188eu/include/usb_ops_linux.h index c7a0dc482761..b149df7957dd 100644 --- a/drivers/staging/r8188eu/include/usb_ops_linux.h +++ b/drivers/staging/r8188eu/include/usb_ops_linux.h @@ -6,11 +6,6 @@ #define VENDOR_CMD_MAX_DATA_LEN 254 -#define RTW_USB_CONTROL_MSG_TIMEOUT_TEST 10/* ms */ #define RTW_USB_CONTROL_MSG_TIMEOUT 500/* ms */ -#define MAX_USBCTRL_VENDORREQ_TIMES 10 - -#define RTW_USB_BULKOUT_TIME 5000/* ms */ - #endif From 88c190736580b2b3f2a830e465e5a0915b90a922 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 24 Jan 2023 22:01:08 +0100 Subject: [PATCH 164/219] staging: r8188eu: remove usb_ops_linux.h There's only two defines left in usb_ops_linux.h. Move those defines to usb_ops_linux.c, where they are used. Remove the now empty file usb_ops_linux.h. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230124210108.62170-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/usb_ops_linux.c | 4 ++++ drivers/staging/r8188eu/include/usb_ops.h | 2 -- drivers/staging/r8188eu/include/usb_ops_linux.h | 11 ----------- drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 1 - 4 files changed, 4 insertions(+), 14 deletions(-) delete mode 100644 drivers/staging/r8188eu/include/usb_ops_linux.h diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c index 0f789d5250db..9c940ab8fd41 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -7,6 +7,10 @@ #include "../include/usb_ops.h" #include "../include/rtl8188e_hal.h" +#define VENDOR_CMD_MAX_DATA_LEN 254 + +#define RTW_USB_CONTROL_MSG_TIMEOUT 500/* ms */ + static int usb_read(struct adapter *adapt, u16 value, void *data, u8 size) { struct dvobj_priv *dvobjpriv = adapter_to_dvobj(adapt); diff --git a/drivers/staging/r8188eu/include/usb_ops.h b/drivers/staging/r8188eu/include/usb_ops.h index ddc46cb44358..5bd8ce37aebf 100644 --- a/drivers/staging/r8188eu/include/usb_ops.h +++ b/drivers/staging/r8188eu/include/usb_ops.h @@ -17,8 +17,6 @@ #define MAX_VENDOR_REQ_CMD_SIZE 254 /* 8188cu SIE Support */ #define MAX_USB_IO_CTL_SIZE (MAX_VENDOR_REQ_CMD_SIZE + ALIGNMENT_UNIT) -#include "usb_ops_linux.h" - /* * Increase and check if the continual_urb_error of this @param dvobjprivei * is larger than MAX_CONTINUAL_URB_ERR diff --git a/drivers/staging/r8188eu/include/usb_ops_linux.h b/drivers/staging/r8188eu/include/usb_ops_linux.h deleted file mode 100644 index b149df7957dd..000000000000 --- a/drivers/staging/r8188eu/include/usb_ops_linux.h +++ /dev/null @@ -1,11 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ -/* Copyright(c) 2007 - 2011 Realtek Corporation. */ - -#ifndef __USB_OPS_LINUX_H__ -#define __USB_OPS_LINUX_H__ - -#define VENDOR_CMD_MAX_DATA_LEN 254 - -#define RTW_USB_CONTROL_MSG_TIMEOUT 500/* ms */ - -#endif diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 583533631133..c9ee1173a1d6 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -4,7 +4,6 @@ #define _USB_OPS_LINUX_C_ #include "../include/drv_types.h" -#include "../include/usb_ops_linux.h" #include "../include/rtl8188e_recv.h" static unsigned int ffaddr2pipehdl(struct dvobj_priv *pdvobj, u32 addr) From 59f6f02ead58fe4c825f5129bd219f2d8861872b Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 29 Jan 2023 15:57:59 +0100 Subject: [PATCH 165/219] staging: rtl8192e: Rename TxBBGainTab.., CCKTxBBGainTab.. and RT_CID_81.. Rename constant TxBBGainTableLength to TX_BB_GAIN_TABLE_LEN, CCKTxBBGainTableLength to CCK_TX_BB_GAIN_TABLE_LEN and RT_CID_819x_Netcore to RT_CID_819X_NETCORE to avoid CamelCase which is not accepted by checkpatch. Added spaces before and after "-" to fix checkpatch message. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/0f390222d1bd272c3e63d1b2936109ac50e9f05f.1675003608.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- .../rtl8192e/rtl8192e/r8190P_rtl8256.c | 2 +- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 6 ++-- .../staging/rtl8192e/rtl8192e/r8192E_phy.c | 8 ++--- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 6 ++-- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 30 +++++++++---------- drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 6 ++-- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c index 9ea281808128..73a86e1d0701 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c @@ -151,7 +151,7 @@ void rtl92e_set_cck_tx_power(struct net_device *dev, u8 powerlevel) TxAGC = powerlevel; if (priv->dynamic_tx_low_pwr) { - if (priv->customer_id == RT_CID_819x_Netcore) + if (priv->customer_id == RT_CID_819X_NETCORE) TxAGC = 0x22; else TxAGC += priv->cck_pwr_enl; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 3989d484cc33..7ed3d47964af 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -460,7 +460,7 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev) priv->customer_id = RT_CID_819x_RUNTOP; break; case EEPROM_CID_NetCore: - priv->customer_id = RT_CID_819x_Netcore; + priv->customer_id = RT_CID_819X_NETCORE; break; case EEPROM_CID_TOSHIBA: priv->customer_id = RT_CID_TOSHIBA; @@ -741,7 +741,7 @@ bool rtl92e_start_adapter(struct net_device *dev) bMaskDWord); rtl92e_get_bb_reg(dev, rOFDM0_XCTxIQImbalance, bMaskDWord); - for (i = 0; i < TxBBGainTableLength; i++) { + for (i = 0; i < TX_BB_GAIN_TABLE_LEN; i++) { if (tmpRegA == dm_tx_bb_gain[i]) { priv->rfa_txpowertrackingindex = i; priv->rfa_txpowertrackingindex_real = i; @@ -754,7 +754,7 @@ bool rtl92e_start_adapter(struct net_device *dev) TempCCk = rtl92e_get_bb_reg(dev, rCCK0_TxFilter1, bMaskByte2); - for (i = 0; i < CCKTxBBGainTableLength; i++) { + for (i = 0; i < CCK_TX_BB_GAIN_TABLE_LEN; i++) { if (TempCCk == dm_cck_tx_bb_gain[i][0]) { priv->cck_present_attn_20m_def = i; break; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index ca10a14c63b4..456b7ca73073 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -991,9 +991,9 @@ static void _rtl92e_cck_tx_power_track_bw_switch_tssi(struct net_device *dev) priv->cck_present_attn_diff; if (priv->cck_present_attn > - (CCKTxBBGainTableLength-1)) + (CCK_TX_BB_GAIN_TABLE_LEN - 1)) priv->cck_present_attn = - CCKTxBBGainTableLength-1; + CCK_TX_BB_GAIN_TABLE_LEN - 1; if (priv->cck_present_attn < 0) priv->cck_present_attn = 0; @@ -1016,9 +1016,9 @@ static void _rtl92e_cck_tx_power_track_bw_switch_tssi(struct net_device *dev) priv->cck_present_attn_diff; if (priv->cck_present_attn > - (CCKTxBBGainTableLength - 1)) + (CCK_TX_BB_GAIN_TABLE_LEN - 1)) priv->cck_present_attn = - CCKTxBBGainTableLength-1; + CCK_TX_BB_GAIN_TABLE_LEN - 1; if (priv->cck_present_attn < 0) priv->cck_present_attn = 0; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 4cf776094ac0..1287580ce352 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -90,8 +90,8 @@ #define PHY_RSSI_SLID_WIN_MAX 100 -#define TxBBGainTableLength 37 -#define CCKTxBBGainTableLength 23 +#define TX_BB_GAIN_TABLE_LEN 37 +#define CCK_TX_BB_GAIN_TABLE_LEN 23 #define CHANNEL_PLAN_LEN 10 #define sCrcLng 4 @@ -154,7 +154,7 @@ enum rt_customer_id { RT_CID_819x_RUNTOP = 7, RT_CID_819x_Senao = 8, RT_CID_TOSHIBA = 9, - RT_CID_819x_Netcore = 10, + RT_CID_819X_NETCORE = 10, RT_CID_Nettronix = 11, RT_CID_DLINK = 12, RT_CID_PRONET = 13, diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 79f993ab7cee..5d77baf7df64 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -46,7 +46,7 @@ static u32 edca_setting_UL[HT_IOT_PEER_MAX] = { 0x5e4332 }; -const u32 dm_tx_bb_gain[TxBBGainTableLength] = { +const u32 dm_tx_bb_gain[TX_BB_GAIN_TABLE_LEN] = { 0x7f8001fe, /* 12 dB */ 0x788001e2, /* 11 dB */ 0x71c001c7, @@ -86,7 +86,7 @@ const u32 dm_tx_bb_gain[TxBBGainTableLength] = { 0x10000040, /* -24 dB */ }; -const u8 dm_cck_tx_bb_gain[CCKTxBBGainTableLength][8] = { +const u8 dm_cck_tx_bb_gain[CCK_TX_BB_GAIN_TABLE_LEN][8] = { {0x36, 0x35, 0x2e, 0x25, 0x1c, 0x12, 0x09, 0x04}, {0x33, 0x32, 0x2b, 0x23, 0x1a, 0x11, 0x08, 0x04}, {0x30, 0x2f, 0x29, 0x21, 0x19, 0x10, 0x08, 0x03}, @@ -112,7 +112,7 @@ const u8 dm_cck_tx_bb_gain[CCKTxBBGainTableLength][8] = { {0x0f, 0x0f, 0x0d, 0x0b, 0x08, 0x05, 0x03, 0x01} }; -const u8 dm_cck_tx_bb_gain_ch14[CCKTxBBGainTableLength][8] = { +const u8 dm_cck_tx_bb_gain_ch14[CCK_TX_BB_GAIN_TABLE_LEN][8] = { {0x36, 0x35, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00}, {0x33, 0x32, 0x2b, 0x19, 0x00, 0x00, 0x00, 0x00}, {0x30, 0x2f, 0x29, 0x18, 0x00, 0x00, 0x00, 0x00}, @@ -290,7 +290,7 @@ void rtl92e_init_adaptive_rate(struct net_device *dev) pra->low_rssi_thresh_for_ra20M = RateAdaptiveTH_Low_20M; pra->low_rssi_thresh_for_ra40M = RateAdaptiveTH_Low_40M; - if (priv->customer_id == RT_CID_819x_Netcore) + if (priv->customer_id == RT_CID_819X_NETCORE) pra->ping_rssi_enable = 1; else pra->ping_rssi_enable = 0; @@ -568,8 +568,8 @@ static void _rtl92e_dm_tx_update_tssi_strong_signal(struct net_device *dev, struct r8192_priv *p = rtllib_priv(dev); if (RF_Type == RF_2T4R) { - if ((p->rfa_txpowertrackingindex < TxBBGainTableLength - 1) && - (p->rfc_txpowertrackingindex < TxBBGainTableLength - 1)) { + if ((p->rfa_txpowertrackingindex < TX_BB_GAIN_TABLE_LEN - 1) && + (p->rfc_txpowertrackingindex < TX_BB_GAIN_TABLE_LEN - 1)) { p->rfa_txpowertrackingindex++; p->rfa_txpowertrackingindex_real++; rtl92e_set_bb_reg(dev, rOFDM0_XATxIQImbalance, @@ -583,13 +583,13 @@ static void _rtl92e_dm_tx_update_tssi_strong_signal(struct net_device *dev, } else { rtl92e_set_bb_reg(dev, rOFDM0_XATxIQImbalance, bMaskDWord, - dm_tx_bb_gain[TxBBGainTableLength - 1]); + dm_tx_bb_gain[TX_BB_GAIN_TABLE_LEN - 1]); rtl92e_set_bb_reg(dev, rOFDM0_XCTxIQImbalance, bMaskDWord, - dm_tx_bb_gain[TxBBGainTableLength - 1]); + dm_tx_bb_gain[TX_BB_GAIN_TABLE_LEN - 1]); } } else { - if (p->rfa_txpowertrackingindex < (TxBBGainTableLength - 1)) { + if (p->rfa_txpowertrackingindex < (TX_BB_GAIN_TABLE_LEN - 1)) { p->rfa_txpowertrackingindex++; p->rfa_txpowertrackingindex_real++; rtl92e_set_bb_reg(dev, rOFDM0_XATxIQImbalance, @@ -598,7 +598,7 @@ static void _rtl92e_dm_tx_update_tssi_strong_signal(struct net_device *dev, } else { rtl92e_set_bb_reg(dev, rOFDM0_XATxIQImbalance, bMaskDWord, - dm_tx_bb_gain[TxBBGainTableLength - 1]); + dm_tx_bb_gain[TX_BB_GAIN_TABLE_LEN - 1]); } } } @@ -722,13 +722,13 @@ static void _rtl92e_dm_tx_power_tracking_callback_tssi(struct net_device *dev) priv->cck_present_attn_40m_def + priv->cck_present_attn_diff; - if (priv->cck_present_attn > (CCKTxBBGainTableLength-1)) - priv->cck_present_attn = CCKTxBBGainTableLength-1; + if (priv->cck_present_attn > (CCK_TX_BB_GAIN_TABLE_LEN - 1)) + priv->cck_present_attn = CCK_TX_BB_GAIN_TABLE_LEN - 1; if (priv->cck_present_attn < 0) priv->cck_present_attn = 0; if (priv->cck_present_attn > -1 && - priv->cck_present_attn < CCKTxBBGainTableLength) { + priv->cck_present_attn < CCK_TX_BB_GAIN_TABLE_LEN) { if (priv->rtllib->current_network.channel == 14 && !priv->bcck_in_ch14) { priv->bcck_in_ch14 = true; @@ -1148,7 +1148,7 @@ static void _rtl92e_dm_dig_init(struct net_device *dev) dm_digtable.rssi_val = 50; dm_digtable.backoff_val = DM_DIG_BACKOFF; dm_digtable.rx_gain_range_max = DM_DIG_MAX; - if (priv->customer_id == RT_CID_819x_Netcore) + if (priv->customer_id == RT_CID_819X_NETCORE) dm_digtable.rx_gain_range_min = DM_DIG_MIN_Netcore; else dm_digtable.rx_gain_range_min = DM_DIG_MIN; @@ -1734,7 +1734,7 @@ static void _rtl92e_dm_init_rx_path_selection(struct net_device *dev) DM_RxPathSelTable.Enable = 1; DM_RxPathSelTable.SS_TH_low = RxPathSelection_SS_TH_low; DM_RxPathSelTable.diff_TH = RxPathSelection_diff_TH; - if (priv->customer_id == RT_CID_819x_Netcore) + if (priv->customer_id == RT_CID_819X_NETCORE) DM_RxPathSelTable.cck_method = CCK_Rx_Version_2; else DM_RxPathSelTable.cck_method = CCK_Rx_Version_1; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h index 65d077dfee37..7339ce1e40db 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h @@ -162,9 +162,9 @@ extern struct dig_t dm_digtable; extern struct drx_path_sel DM_RxPathSelTable; /* Pre-calculated gain tables */ -extern const u32 dm_tx_bb_gain[TxBBGainTableLength]; -extern const u8 dm_cck_tx_bb_gain[CCKTxBBGainTableLength][8]; -extern const u8 dm_cck_tx_bb_gain_ch14[CCKTxBBGainTableLength][8]; +extern const u32 dm_tx_bb_gain[TX_BB_GAIN_TABLE_LEN]; +extern const u8 dm_cck_tx_bb_gain[CCK_TX_BB_GAIN_TABLE_LEN][8]; +extern const u8 dm_cck_tx_bb_gain_ch14[CCK_TX_BB_GAIN_TABLE_LEN][8]; /* Maps table index to iq amplify gain (dB, 12 to -24dB) */ #define dm_tx_bb_gain_idx_to_amplify(idx) (-idx + 12) From e38e65eb18ce54bdab7f353cec7e70a2cb07be68 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 29 Jan 2023 15:58:07 +0100 Subject: [PATCH 166/219] staging: rtl8192e: Rename sCrcLng Rename constant sCrcLng to S_CRC_LEN to avoid CamelCase which is not accepted by checkpatch. Use S_CRC_LEN instead of fix value with comment to improve readability. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/b0139a958123881fd04b60110a6889f726d943cc.1675003608.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 2 +- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 2 +- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 7ed3d47964af..912b50d3fb31 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1827,7 +1827,7 @@ bool rtl92e_get_rx_stats(struct net_device *dev, struct rtllib_rx_stats *stats, stats->RxIs40MHzPacket = pDrvInfo->BW; _rtl92e_translate_rx_signal_stats(dev, skb, stats, pdesc, pDrvInfo); - skb_trim(skb, skb->len - 4/*sCrcLng*/); + skb_trim(skb, skb->len - S_CRC_LEN); stats->packetlength = stats->Length-4; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index f8a8ece40ac1..26cf4b5165f5 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -1906,7 +1906,7 @@ static void _rtl92e_rx_normal(struct net_device *dev) skb_put(skb, pdesc->Length); skb_reserve(skb, stats.RxDrvInfoSize + stats.RxBufShift); - skb_trim(skb, skb->len - 4/*sCrcLng*/); + skb_trim(skb, skb->len - S_CRC_LEN); rtllib_hdr = (struct rtllib_hdr_1addr *)skb->data; if (!is_multicast_ether_addr(rtllib_hdr->addr1)) { /* unicast packet */ diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 1287580ce352..a5812dfcd614 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -94,7 +94,7 @@ #define CCK_TX_BB_GAIN_TABLE_LEN 23 #define CHANNEL_PLAN_LEN 10 -#define sCrcLng 4 +#define S_CRC_LEN 4 #define NIC_SEND_HANG_THRESHOLD_NORMAL 4 #define NIC_SEND_HANG_THRESHOLD_POWERSAVE 8 From 885278a3dd4b3909067dd9bdce36db61adb0f14c Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 29 Jan 2023 15:58:14 +0100 Subject: [PATCH 167/219] staging: rtl8192e: Remove unused variable rxSNRdB rxSNRdB is initialized and set but never read. Remove dead code. Local variable rx_snrX is then of no use. Remove rx_snrX as well. Local variable tmp_rxsnr is then of no use. Remove tmp_rxsnr as well. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/b3150d506556375c4b155c51eabf79e128f50780.1675003608.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 9 ++------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 1 - 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 912b50d3fb31..1677b6c5d363 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1297,9 +1297,9 @@ static void _rtl92e_query_rxphystatus( struct phy_sts_ofdm_819xpci *pofdm_buf; struct phy_sts_cck_819xpci *pcck_buf; u8 *prxpkt; - u8 i, max_spatial_stream, tmp_rxsnr, tmp_rxevm; + u8 i, max_spatial_stream, tmp_rxevm; s8 rx_pwr[4], rx_pwr_all = 0; - s8 rx_snrX, rx_evmX; + s8 rx_evmX; u8 evm, pwdb_all; u32 RSSI, total_rssi = 0; u8 is_cck_rate = 0; @@ -1419,11 +1419,6 @@ static void _rtl92e_query_rxphystatus( rx_pwr[i] = ((pofdm_buf->trsw_gain_X[i] & 0x3F) * 2) - 110; - tmp_rxsnr = pofdm_buf->rxsnr_X[i]; - rx_snrX = (s8)(tmp_rxsnr); - rx_snrX /= 2; - priv->stats.rxSNRdB[i] = (long)rx_snrX; - RSSI = rtl92e_rx_db_to_percent(rx_pwr[i]); if (priv->brfpath_rxenable[i]) total_rssi += RSSI; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index a5812dfcd614..d0c88d68b60b 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -197,7 +197,6 @@ struct rt_stats { long recv_signal_power; u8 rx_rssi_percentage[4]; u8 rx_evm_percentage[2]; - long rxSNRdB[4]; u32 slide_beacon_pwdb[100]; u32 slide_beacon_total; u32 CurrentShowTxate; From 997ee23ba610ac23117a3d1b5ee622a1bbf1cf72 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 29 Jan 2023 15:58:21 +0100 Subject: [PATCH 168/219] staging: rtl8192e: Remove unused constants from enum rt_customer_id Remove unused constants from enum rt_customer_id. A part of the constants would need to be renamed because of CamelCase. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/108d80f0ae1006b716205dce0ca9a7ee597ba1dd.1675003608.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 22 -------------------- 1 file changed, 22 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index d0c88d68b60b..17fc69c839d3 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -145,35 +145,13 @@ enum rt_rf_type_819xu { enum rt_customer_id { RT_CID_DEFAULT = 0, - RT_CID_8187_ALPHA0 = 1, - RT_CID_8187_SERCOMM_PS = 2, - RT_CID_8187_HW_LED = 3, - RT_CID_8187_NETGEAR = 4, - RT_CID_WHQL = 5, RT_CID_819x_CAMEO = 6, RT_CID_819x_RUNTOP = 7, - RT_CID_819x_Senao = 8, RT_CID_TOSHIBA = 9, RT_CID_819X_NETCORE = 10, RT_CID_Nettronix = 11, RT_CID_DLINK = 12, RT_CID_PRONET = 13, - RT_CID_COREGA = 14, - RT_CID_819x_ALPHA = 15, - RT_CID_819x_Sitecom = 16, - RT_CID_CCX = 17, - RT_CID_819x_Lenovo = 18, - RT_CID_819x_QMI = 19, - RT_CID_819x_Edimax_Belkin = 20, - RT_CID_819x_Sercomm_Belkin = 21, - RT_CID_819x_CAMEO1 = 22, - RT_CID_819x_MSI = 23, - RT_CID_819x_Acer = 24, - RT_CID_819x_HP = 27, - RT_CID_819x_CLEVO = 28, - RT_CID_819x_Arcadyan_Belkin = 29, - RT_CID_819x_SAMSUNG = 30, - RT_CID_819x_WNC_COREGA = 31, }; enum reset_type { From 04f11af2f0567a08f331a53249065f7a193b0347 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 29 Jan 2023 15:58:30 +0100 Subject: [PATCH 169/219] staging: rtl8192e: Rename BaseBand_Config_PHY_REG and BaseBand_Config_AGC_TAB Rename constants BaseBand_Config_PHY_REG to BB_CONFIG_PHY_REG and BaseBand_Config_AGC_TAB to BB_CONFIG_AGC_TAB to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/6d26690c7c2c68cc7c766c981293bd8e40999ed0.1675003608.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h | 4 ++-- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h index 3e223151d4b7..858cfc203f13 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h @@ -8,8 +8,8 @@ #define R8180_HW enum baseband_config { - BaseBand_Config_PHY_REG = 0, - BaseBand_Config_AGC_TAB = 1, + BB_CONFIG_PHY_REG = 0, + BB_CONFIG_AGC_TAB = 1, }; #define RTL8187_REQT_READ 0xc0 diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index 456b7ca73073..cbda027656dc 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -342,13 +342,13 @@ static void _rtl92e_phy_config_bb(struct net_device *dev, u8 ConfigType) Rtl819XPHY_REGArray_Table = Rtl819XPHY_REG_1T2RArray; } - if (ConfigType == BaseBand_Config_PHY_REG) { + if (ConfigType == BB_CONFIG_PHY_REG) { for (i = 0; i < PHY_REGArrayLen; i += 2) { rtl92e_set_bb_reg(dev, Rtl819XPHY_REGArray_Table[i], bMaskDWord, Rtl819XPHY_REGArray_Table[i+1]); } - } else if (ConfigType == BaseBand_Config_AGC_TAB) { + } else if (ConfigType == BB_CONFIG_AGC_TAB) { for (i = 0; i < AGCTAB_ArrayLen; i += 2) { rtl92e_set_bb_reg(dev, Rtl819XAGCTAB_Array_Table[i], bMaskDWord, @@ -526,12 +526,12 @@ static bool _rtl92e_bb_config_para_file(struct net_device *dev) return rtStatus; } rtl92e_set_bb_reg(dev, rFPGA0_RFMOD, bCCKEn|bOFDMEn, 0x0); - _rtl92e_phy_config_bb(dev, BaseBand_Config_PHY_REG); + _rtl92e_phy_config_bb(dev, BB_CONFIG_PHY_REG); dwRegValue = rtl92e_readl(dev, CPU_GEN); rtl92e_writel(dev, CPU_GEN, (dwRegValue|CPU_GEN_BB_RST)); - _rtl92e_phy_config_bb(dev, BaseBand_Config_AGC_TAB); + _rtl92e_phy_config_bb(dev, BB_CONFIG_AGC_TAB); if (priv->ic_cut > VERSION_8190_BD) { if (priv->rf_type == RF_2T4R) From a010c5a5dd63c7633db6f6fe0189458af735d720 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 29 Jan 2023 15:58:36 +0100 Subject: [PATCH 170/219] staging: rtl8192e: Remove unused constants at beginning of r8192E_hw.h Remove unused constants at beginning of r8192E_hw.h. A part of the constants would need to be renamed because of CamelCase on others spaces are missing before and after "<<". Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/d01232f5ef10eac02abb3f31f2ac6f53614fa954.1675003608.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h | 38 +------------------ 1 file changed, 1 insertion(+), 37 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h index 858cfc203f13..cc1e62f7074d 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h @@ -12,63 +12,27 @@ enum baseband_config { BB_CONFIG_AGC_TAB = 1, }; -#define RTL8187_REQT_READ 0xc0 -#define RTL8187_REQT_WRITE 0x40 -#define RTL8187_REQ_GET_REGS 0x05 -#define RTL8187_REQ_SET_REGS 0x05 - -#define MAX_TX_URB 5 -#define MAX_RX_URB 16 -#define RX_URB_SIZE 9100 - -#define BB_ANTATTEN_CHAN14 0x0c -#define BB_ANTENNA_B 0x40 - -#define BB_HOST_BANG (1<<30) -#define BB_HOST_BANG_EN (1<<2) -#define BB_HOST_BANG_CLK (1<<1) -#define BB_HOST_BANG_RW (1<<3) -#define BB_HOST_BANG_DATA 1 - #define RTL8190_EEPROM_ID 0x8129 #define EEPROM_VID 0x02 #define EEPROM_DID 0x04 #define EEPROM_NODE_ADDRESS_BYTE_0 0x0C -#define EEPROM_TxPowerDiff 0x1F - - -#define EEPROM_PwDiff 0x21 -#define EEPROM_CrystalCap 0x22 - - - -#define EEPROM_TxPwIndex_CCK_V1 0x29 -#define EEPROM_TxPwIndex_OFDM_24G_V1 0x2C -#define EEPROM_TxPwIndex_Ver 0x27 - -#define EEPROM_Default_TxPowerDiff 0x0 #define EEPROM_Default_ThermalMeter 0x77 #define EEPROM_Default_AntTxPowerDiff 0x0 #define EEPROM_Default_TxPwDiff_CrystalCap 0x5 -#define EEPROM_Default_PwDiff 0x4 -#define EEPROM_Default_CrystalCap 0x5 #define EEPROM_Default_TxPower 0x1010 #define EEPROM_ICVersion_ChannelPlan 0x7C #define EEPROM_Customer_ID 0x7B #define EEPROM_RFInd_PowerDiff 0x28 + #define EEPROM_ThermalMeter 0x29 #define EEPROM_TxPwDiff_CrystalCap 0x2A #define EEPROM_TxPwIndex_CCK 0x2C #define EEPROM_TxPwIndex_OFDM_24G 0x3A -#define EEPROM_Default_TxPowerLevel 0x10 -#define EEPROM_IC_VER 0x7d -#define EEPROM_CRC 0x7e #define EEPROM_CID_DEFAULT 0x0 #define EEPROM_CID_CAMEO 0x1 #define EEPROM_CID_RUNTOP 0x2 -#define EEPROM_CID_Senao 0x3 #define EEPROM_CID_TOSHIBA 0x4 #define EEPROM_CID_NetCore 0x5 #define EEPROM_CID_Nettronix 0x6 From d48455b0d1741f3cdb98b9395d121059d0869235 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 29 Jan 2023 15:58:43 +0100 Subject: [PATCH 171/219] staging: rtl8192e: Remove unused constants in _RTL8192Pci_HW Remove unused constants in and after _RTL8192Pci_HW of r8192E_hw.h. A part of the constants would need to be renamed because of CamelCase on others spaces are missing before and after "<<". Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/7eef6b217c00d123ee7194191209ff3bee707f8c.1675003608.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h | 148 +----------------- 1 file changed, 1 insertion(+), 147 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h index cc1e62f7074d..13c0e5218ecf 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h @@ -41,72 +41,39 @@ enum baseband_config { #define EEPROM_CID_WHQL 0xFE enum _RTL8192Pci_HW { MAC0 = 0x000, - MAC1 = 0x001, - MAC2 = 0x002, - MAC3 = 0x003, MAC4 = 0x004, - MAC5 = 0x005, PCIF = 0x009, -#define MXDMA2_16bytes 0x000 -#define MXDMA2_32bytes 0x001 -#define MXDMA2_64bytes 0x010 -#define MXDMA2_128bytes 0x011 -#define MXDMA2_256bytes 0x100 -#define MXDMA2_512bytes 0x101 -#define MXDMA2_1024bytes 0x110 #define MXDMA2_NoLimit 0x7 -#define MULRW_SHIFT 3 #define MXDMA2_RX_SHIFT 4 #define MXDMA2_TX_SHIFT 0 PMR = 0x00c, EPROM_CMD = 0x00e, -#define EPROM_CMD_RESERVED_MASK BIT5 + #define EPROM_CMD_9356SEL BIT4 #define EPROM_CMD_OPERATING_MODE_SHIFT 6 -#define EPROM_CMD_OPERATING_MODE_MASK ((1<<7)|(1<<6)) -#define EPROM_CMD_CONFIG 0x3 #define EPROM_CMD_NORMAL 0 -#define EPROM_CMD_LOAD 1 #define EPROM_CMD_PROGRAM 2 #define EPROM_CS_BIT 3 #define EPROM_CK_BIT 2 #define EPROM_W_BIT 1 #define EPROM_R_BIT 0 - AFR = 0x010, -#define AFR_CardBEn (1<<0) -#define AFR_CLKRUN_SEL (1<<1) -#define AFR_FuncRegEn (1<<2) - ANAPAR = 0x17, #define BB_GLOBAL_RESET_BIT 0x1 BB_GLOBAL_RESET = 0x020, BSSIDR = 0x02E, CMDR = 0x037, -#define CR_RST 0x10 #define CR_RE 0x08 #define CR_TE 0x04 -#define CR_MulRW 0x01 SIFS = 0x03E, - TCR = 0x040, RCR = 0x044, -#define RCR_FILTER_MASK (BIT0 | BIT1 | BIT2 | BIT3 | BIT5 | BIT12 | \ - BIT18 | BIT19 | BIT20 | BIT21 | BIT22 | BIT23) #define RCR_ONLYERLPKT BIT31 -#define RCR_ENCS2 BIT30 -#define RCR_ENCS1 BIT29 -#define RCR_ENMBID BIT27 -#define RCR_ACKTXBW (BIT24|BIT25) #define RCR_CBSSID BIT23 -#define RCR_APWRMGT BIT22 #define RCR_ADD3 BIT21 #define RCR_AMF BIT20 -#define RCR_ACF BIT19 #define RCR_ADF BIT18 -#define RCR_RXFTH BIT13 #define RCR_AICV BIT12 -#define RCR_ACRC32 BIT5 #define RCR_AB BIT3 #define RCR_AM BIT2 #define RCR_APM BIT1 @@ -115,8 +82,6 @@ enum _RTL8192Pci_HW { #define RCR_FIFO_OFFSET 13 SLOT_TIME = 0x049, ACK_TIMEOUT = 0x04c, - PIFS_TIME = 0x04d, - USTIME = 0x04e, EDCAPARA_BE = 0x050, EDCAPARA_BK = 0x054, EDCAPARA_VO = 0x058, @@ -125,53 +90,25 @@ enum _RTL8192Pci_HW { #define AC_PARAM_ECW_MAX_OFFSET 12 #define AC_PARAM_ECW_MIN_OFFSET 8 #define AC_PARAM_AIFS_OFFSET 0 - RFPC = 0x05F, - CWRR = 0x060, BCN_TCFG = 0x062, #define BCN_TCFG_CW_SHIFT 8 #define BCN_TCFG_IFS 0 BCN_INTERVAL = 0x070, ATIMWND = 0x072, BCN_DRV_EARLY_INT = 0x074, -#define BCN_DRV_EARLY_INT_SWBCN_SHIFT 8 -#define BCN_DRV_EARLY_INT_TIME_SHIFT 0 BCN_DMATIME = 0x076, BCN_ERR_THRESH = 0x078, RWCAM = 0x0A0, -#define CAM_CM_SecCAMPolling BIT31 -#define CAM_CM_SecCAMClr BIT30 -#define CAM_CM_SecCAMWE BIT16 -#define CAM_VALID BIT15 -#define CAM_NOTVALID 0x0000 -#define CAM_USEDK BIT5 - -#define CAM_NONE 0x0 -#define CAM_WEP40 0x01 -#define CAM_TKIP 0x02 -#define CAM_AES 0x04 -#define CAM_WEP104 0x05 - #define TOTAL_CAM_ENTRY 32 - -#define CAM_CONFIG_USEDK true -#define CAM_CONFIG_NO_USEDK false -#define CAM_WRITE BIT16 -#define CAM_READ 0x00000000 -#define CAM_POLLINIG BIT31 -#define SCR_UseDK 0x01 WCAMI = 0x0A4, - RCAMO = 0x0A8, SECR = 0x0B0, #define SCR_TxUseDK BIT0 #define SCR_RxUseDK BIT1 #define SCR_TxEncEnable BIT2 #define SCR_RxDecEnable BIT3 -#define SCR_SKByA2 BIT4 #define SCR_NoSKMC BIT5 SWREGULATOR = 0x0BD, INTA_MASK = 0x0f4, -#define IMR8190_DISABLED 0x0 -#define IMR_ATIMEND BIT28 #define IMR_TBDOK BIT27 #define IMR_TBDER BIT26 #define IMR_TXFOVW BIT15 @@ -192,29 +129,9 @@ enum _RTL8192Pci_HW { #define IMR_ROK BIT0 ISR = 0x0f8, TPPoll = 0x0fd, -#define TPPoll_BKQ BIT0 -#define TPPoll_BEQ BIT1 -#define TPPoll_VIQ BIT2 -#define TPPoll_VOQ BIT3 -#define TPPoll_BQ BIT4 #define TPPoll_CQ BIT5 -#define TPPoll_MQ BIT6 -#define TPPoll_HQ BIT7 -#define TPPoll_HCCAQ BIT8 -#define TPPoll_StopBK BIT9 -#define TPPoll_StopBE BIT10 -#define TPPoll_StopVI BIT11 -#define TPPoll_StopVO BIT12 -#define TPPoll_StopMgt BIT13 -#define TPPoll_StopHigh BIT14 -#define TPPoll_StopHCCA BIT15 -#define TPPoll_SHIFT 8 - PSR = 0x0ff, -#define PSR_GEN 0x0 -#define PSR_CPU 0x1 CPU_GEN = 0x100, - BB_RESET = 0x101, #define CPU_CCK_LOOPBACK 0x00030000 #define CPU_GEN_SYSTEM_RESET 0x00000001 #define CPU_GEN_FIRMWARE_RESET 0x00000008 @@ -225,31 +142,13 @@ enum _RTL8192Pci_HW { #define CPU_GEN_PWR_STB_CPU 0x00000004 #define CPU_GEN_NO_LOOPBACK_MSK 0xFFF8FFFF #define CPU_GEN_NO_LOOPBACK_SET 0x00080000 -#define CPU_GEN_GPIO_UART 0x00007000 - - LED1Cfg = 0x154, - LED0Cfg = 0x155, - - AcmAvg = 0x170, AcmHwCtrl = 0x171, -#define AcmHw_HwEn BIT0 #define AcmHw_BeqEn BIT1 #define AcmHw_ViqEn BIT2 #define AcmHw_VoqEn BIT3 -#define AcmHw_BeqStatus BIT4 -#define AcmHw_ViqStatus BIT5 -#define AcmHw_VoqStatus BIT6 - AcmFwCtrl = 0x172, -#define AcmFw_BeqStatus BIT0 -#define AcmFw_ViqStatus BIT1 -#define AcmFw_VoqStatus BIT2 - VOAdmTime = 0x174, - VIAdmTime = 0x178, - BEAdmTime = 0x17C, RQPN1 = 0x180, RQPN2 = 0x184, RQPN3 = 0x188, - QPRR = 0x1E0, QPNR = 0x1F0, BQDA = 0x200, HQDA = 0x204, @@ -260,40 +159,13 @@ enum _RTL8192Pci_HW { VIQDA = 0x218, BEQDA = 0x21C, BKQDA = 0x220, - RCQDA = 0x224, RDQDA = 0x228, - MAR0 = 0x240, - MAR4 = 0x244, - - CCX_PERIOD = 0x250, - CLM_RESULT = 0x251, - NHM_PERIOD = 0x252, - - NHM_THRESHOLD0 = 0x253, - NHM_THRESHOLD1 = 0x254, - NHM_THRESHOLD2 = 0x255, - NHM_THRESHOLD3 = 0x256, - NHM_THRESHOLD4 = 0x257, - NHM_THRESHOLD5 = 0x258, - NHM_THRESHOLD6 = 0x259, - - MCTRL = 0x25A, - - NHM_RPI_COUNTER0 = 0x264, - NHM_RPI_COUNTER1 = 0x265, - NHM_RPI_COUNTER2 = 0x266, - NHM_RPI_COUNTER3 = 0x267, - NHM_RPI_COUNTER4 = 0x268, - NHM_RPI_COUNTER5 = 0x269, - NHM_RPI_COUNTER6 = 0x26A, - NHM_RPI_COUNTER7 = 0x26B, WFCRC0 = 0x2f0, WFCRC1 = 0x2f4, WFCRC2 = 0x2f8, BW_OPMODE = 0x300, -#define BW_OPMODE_11J BIT0 #define BW_OPMODE_5G BIT1 #define BW_OPMODE_20MHZ BIT2 IC_VERRSION = 0x301, @@ -304,7 +176,6 @@ enum _RTL8192Pci_HW { #define MSR_LINK_SHIFT 0 #define MSR_LINK_ADHOC 1 #define MSR_LINK_MASTER 3 -#define MSR_LINK_ENEDCA (1<<4) #define MSR_NOLINK 0x00 #define MSR_ADHOC 0x01 @@ -316,12 +187,7 @@ enum _RTL8192Pci_HW { #define RETRY_LIMIT_LONG_SHIFT 0 TSFR = 0x308, RRSR = 0x310, -#define RRSR_RSC_OFFSET 21 #define RRSR_SHORT_OFFSET 23 -#define RRSR_RSC_DUPLICATE 0x600000 -#define RRSR_RSC_UPSUBCHNL 0x400000 -#define RRSR_RSC_LOWSUBCHNL 0x200000 -#define RRSR_SHORT 0x800000 #define RRSR_1M BIT0 #define RRSR_2M BIT1 #define RRSR_5_5M BIT2 @@ -334,14 +200,6 @@ enum _RTL8192Pci_HW { #define RRSR_36M BIT9 #define RRSR_48M BIT10 #define RRSR_54M BIT11 -#define RRSR_MCS0 BIT12 -#define RRSR_MCS1 BIT13 -#define RRSR_MCS2 BIT14 -#define RRSR_MCS3 BIT15 -#define RRSR_MCS4 BIT16 -#define RRSR_MCS5 BIT17 -#define RRSR_MCS6 BIT18 -#define RRSR_MCS7 BIT19 #define BRSR_AckShortPmb BIT23 UFWP = 0x318, RATR0 = 0x320, @@ -393,10 +251,6 @@ enum _RTL8192Pci_HW { ; #define GPI 0x108 -#define GPO 0x109 -#define GPE 0x10a - -#define HWSET_MAX_SIZE_92S 128 #define ANAPAR_FOR_8192PciE 0x17 From b1266d9233e42d86e1d77b53d979ae9a387c4ca3 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 29 Jan 2023 15:58:49 +0100 Subject: [PATCH 172/219] staging: rtl8192e: Remove used constants MSR_LINK_SH.. and MSR_LINK_N.. Remove used constants MSR_LINK_SHIFT = 0 and MSR_LINK_NONE = 0. Use rules a << 0 = a, 0 << 0 = 0 and msr | 0 = msr to remove dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/46bd1f075d5e4d211e1fc827843933907f7fee29.1675003608.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 12 +++--------- drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h | 2 -- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 1677b6c5d363..62f179f2f174 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -54,22 +54,16 @@ static void _rtl92e_update_msr(struct net_device *dev) switch (priv->rtllib->iw_mode) { case IW_MODE_INFRA: if (priv->rtllib->state == RTLLIB_LINKED) - msr |= (MSR_LINK_MANAGED << MSR_LINK_SHIFT); - else - msr |= (MSR_LINK_NONE << MSR_LINK_SHIFT); + msr |= MSR_LINK_MANAGED; LedAction = LED_CTL_LINK; break; case IW_MODE_ADHOC: if (priv->rtllib->state == RTLLIB_LINKED) - msr |= (MSR_LINK_ADHOC << MSR_LINK_SHIFT); - else - msr |= (MSR_LINK_NONE << MSR_LINK_SHIFT); + msr |= MSR_LINK_ADHOC; break; case IW_MODE_MASTER: if (priv->rtllib->state == RTLLIB_LINKED) - msr |= (MSR_LINK_MASTER << MSR_LINK_SHIFT); - else - msr |= (MSR_LINK_NONE << MSR_LINK_SHIFT); + msr |= MSR_LINK_MASTER; break; default: break; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h index 13c0e5218ecf..3782db125300 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h @@ -172,8 +172,6 @@ enum _RTL8192Pci_HW { MSR = 0x303, #define MSR_LINK_MASK ((1<<0)|(1<<1)) #define MSR_LINK_MANAGED 2 -#define MSR_LINK_NONE 0 -#define MSR_LINK_SHIFT 0 #define MSR_LINK_ADHOC 1 #define MSR_LINK_MASTER 3 From 18e203db238e27302e36ac6e64378b57a668c9f9 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 29 Jan 2023 15:58:57 +0100 Subject: [PATCH 173/219] staging: rtl8192e: Rename _RTL8192Pci_HW, MXDMA2_NoLimit and TPPoll Rename enum _RTL8192Pci_HW to _RTL8192PCI_HW and variable MXDMA2_NoLimit to MXDMA2_NO_LIMIT and TPPoll to TP_POLL to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/1911a2bf4dfe6633e778d86d3aad1553cb629eb3.1675003608.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c | 2 +- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 4 ++-- drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h | 6 +++--- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c index 8bf06f736ffb..374f61e931f5 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c @@ -76,7 +76,7 @@ bool rtl92e_send_cmd_pkt(struct net_device *dev, u32 type, const void *data, } while (frag_offset < len); - rtl92e_writeb(dev, TPPoll, TPPoll_CQ); + rtl92e_writeb(dev, TP_POLL, TPPoll_CQ); Failed: return rt_status; } diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 62f179f2f174..37d304a0f4c1 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -629,8 +629,8 @@ bool rtl92e_start_adapter(struct net_device *dev) _rtl92e_hwconfig(dev); rtl92e_writeb(dev, CMDR, CR_RE | CR_TE); - rtl92e_writeb(dev, PCIF, ((MXDMA2_NoLimit<dev_addr)[0]); rtl92e_writew(dev, MAC4, ((u16 *)(dev->dev_addr + 4))[0]); rtl92e_writel(dev, RCR, priv->receive_config); diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h index 3782db125300..1cb723f71f43 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h @@ -39,11 +39,11 @@ enum baseband_config { #define EEPROM_CID_Pronet 0x7 #define EEPROM_CID_DLINK 0x8 #define EEPROM_CID_WHQL 0xFE -enum _RTL8192Pci_HW { +enum _RTL8192PCI_HW { MAC0 = 0x000, MAC4 = 0x004, PCIF = 0x009, -#define MXDMA2_NoLimit 0x7 +#define MXDMA2_NO_LIMIT 0x7 #define MXDMA2_RX_SHIFT 4 #define MXDMA2_TX_SHIFT 0 @@ -128,7 +128,7 @@ enum _RTL8192Pci_HW { #define IMR_VODOK BIT1 #define IMR_ROK BIT0 ISR = 0x0f8, - TPPoll = 0x0fd, + TP_POLL = 0x0fd, #define TPPoll_CQ BIT5 PSR = 0x0ff, CPU_GEN = 0x100, diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 26cf4b5165f5..104b16cfa979 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -1646,7 +1646,7 @@ static short _rtl92e_tx(struct net_device *dev, struct sk_buff *skb) spin_unlock_irqrestore(&priv->irq_th_lock, flags); netif_trans_update(dev); - rtl92e_writew(dev, TPPoll, 0x01 << tcb_desc->queue_index); + rtl92e_writew(dev, TP_POLL, 0x01 << tcb_desc->queue_index); return 0; } From 0ac62072cfc846fa2daf8c9f29db49577894a2ad Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Sun, 29 Jan 2023 15:59:05 +0100 Subject: [PATCH 174/219] staging: rtl8192e: Rename TPPoll_CQ, AcmHwCtrl and AcmHw_BeqEn Rename variable TPPoll_CQ to TP_POLL_CQ and AcmHwCtrl to ACM_HW_CTRL and AcmHw_BeqEn to ACM_HW_BEQ_EN to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/f6731b36c0f3f22213436ba01abc8f1c685844ad.1675003608.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c | 2 +- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 10 +++++----- drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c index 374f61e931f5..eba8364d0ff2 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c @@ -76,7 +76,7 @@ bool rtl92e_send_cmd_pkt(struct net_device *dev, u32 type, const void *data, } while (frag_offset < len); - rtl92e_writeb(dev, TP_POLL, TPPoll_CQ); + rtl92e_writeb(dev, TP_POLL, TP_POLL_CQ); Failed: return rt_status; } diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 37d304a0f4c1..dc6e694840af 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -216,12 +216,12 @@ void rtl92e_set_reg(struct net_device *dev, u8 variable, u8 *val) union aci_aifsn *pAciAifsn = (union aci_aifsn *)& (qos_parameters->aifs[0]); u8 acm = pAciAifsn->f.acm; - u8 AcmCtrl = rtl92e_readb(dev, AcmHwCtrl); + u8 AcmCtrl = rtl92e_readb(dev, ACM_HW_CTRL); if (acm) { switch (eACI) { case AC0_BE: - AcmCtrl |= AcmHw_BeqEn; + AcmCtrl |= ACM_HW_BEQ_EN; break; case AC2_VI: @@ -235,7 +235,7 @@ void rtl92e_set_reg(struct net_device *dev, u8 variable, u8 *val) } else { switch (eACI) { case AC0_BE: - AcmCtrl &= (~AcmHw_BeqEn); + AcmCtrl &= (~ACM_HW_BEQ_EN); break; case AC2_VI: @@ -243,14 +243,14 @@ void rtl92e_set_reg(struct net_device *dev, u8 variable, u8 *val) break; case AC3_VO: - AcmCtrl &= (~AcmHw_BeqEn); + AcmCtrl &= (~ACM_HW_BEQ_EN); break; default: break; } } - rtl92e_writeb(dev, AcmHwCtrl, AcmCtrl); + rtl92e_writeb(dev, ACM_HW_CTRL, AcmCtrl); break; } diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h index 1cb723f71f43..c3b573090d39 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h @@ -129,7 +129,7 @@ enum _RTL8192PCI_HW { #define IMR_ROK BIT0 ISR = 0x0f8, TP_POLL = 0x0fd, -#define TPPoll_CQ BIT5 +#define TP_POLL_CQ BIT5 PSR = 0x0ff, CPU_GEN = 0x100, #define CPU_CCK_LOOPBACK 0x00030000 @@ -142,8 +142,8 @@ enum _RTL8192PCI_HW { #define CPU_GEN_PWR_STB_CPU 0x00000004 #define CPU_GEN_NO_LOOPBACK_MSK 0xFFF8FFFF #define CPU_GEN_NO_LOOPBACK_SET 0x00080000 - AcmHwCtrl = 0x171, -#define AcmHw_BeqEn BIT1 + ACM_HW_CTRL = 0x171, +#define ACM_HW_BEQ_EN BIT1 #define AcmHw_ViqEn BIT2 #define AcmHw_VoqEn BIT3 RQPN1 = 0x180, From 9bd121f827637485fa32237ff90c882f8915fd1b Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 30 Jan 2023 20:52:55 +0100 Subject: [PATCH 175/219] staging: r8188eu: rtw_free_xmitframe_queue needs no spinlock There's no need for a spinlock in rtw_free_xmitframe_queue. This function is called only from rtw_free_stainfo. rtw_free_stainfo holds pxmitpriv->lock during all rtw_free_xmitframe_queue calls. Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20230130195303.138941-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index f50e10f0d51f..4e49f1d49eb5 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1330,8 +1330,6 @@ void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pfram struct list_head *plist, *phead; struct xmit_frame *pxmitframe; - spin_lock_bh(&pframequeue->lock); - phead = get_list_head(pframequeue); plist = phead->next; @@ -1342,7 +1340,6 @@ void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pfram rtw_free_xmitframe(pxmitpriv, pxmitframe); } - spin_unlock_bh(&pframequeue->lock); } struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i) From 5ae3750cca311cc1ae79e1972b0aa2a68b5ed122 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 30 Jan 2023 20:52:56 +0100 Subject: [PATCH 176/219] staging: r8188eu: change function param from __queue to list_head Modify the dequeue_xmitframes_to_sleeping_queue function to take a list_head pointer instead of a __queue pointer. This is an intermediate step towards changing struct tx_servq's sta_pending from __queue to list_head. Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20230130195303.138941-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 4e49f1d49eb5..3117db41d749 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1788,16 +1788,15 @@ int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct xmit_fra return ret; } -static void dequeue_xmitframes_to_sleeping_queue(struct adapter *padapter, struct sta_info *psta, struct __queue *pframequeue) +static void dequeue_xmitframes_to_sleeping_queue(struct adapter *padapter, struct sta_info *psta, struct list_head *phead) { - struct list_head *plist, *phead; + struct list_head *plist; u8 ac_index; struct tx_servq *ptxservq; struct pkt_attrib *pattrib; struct xmit_frame *pxmitframe; struct hw_xmit *phwxmits = padapter->xmitpriv.hwxmits; - phead = get_list_head(pframequeue); plist = phead->next; while (phead != plist) { @@ -1834,21 +1833,21 @@ void stop_sta_xmit(struct adapter *padapter, struct sta_info *psta) pstapriv->sta_dz_bitmap |= BIT(psta->aid); - dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->vo_q.sta_pending); + dequeue_xmitframes_to_sleeping_queue(padapter, psta, get_list_head(&pstaxmitpriv->vo_q.sta_pending)); list_del_init(&pstaxmitpriv->vo_q.tx_pending); - dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->vi_q.sta_pending); + dequeue_xmitframes_to_sleeping_queue(padapter, psta, get_list_head(&pstaxmitpriv->vi_q.sta_pending)); list_del_init(&pstaxmitpriv->vi_q.tx_pending); - dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->be_q.sta_pending); + dequeue_xmitframes_to_sleeping_queue(padapter, psta, get_list_head(&pstaxmitpriv->be_q.sta_pending)); list_del_init(&pstaxmitpriv->be_q.tx_pending); - dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->bk_q.sta_pending); + dequeue_xmitframes_to_sleeping_queue(padapter, psta, get_list_head(&pstaxmitpriv->bk_q.sta_pending)); list_del_init(&pstaxmitpriv->bk_q.tx_pending); /* for BC/MC Frames */ pstaxmitpriv = &psta_bmc->sta_xmitpriv; - dequeue_xmitframes_to_sleeping_queue(padapter, psta_bmc, &pstaxmitpriv->be_q.sta_pending); + dequeue_xmitframes_to_sleeping_queue(padapter, psta_bmc, get_list_head(&pstaxmitpriv->be_q.sta_pending)); list_del_init(&pstaxmitpriv->be_q.tx_pending); spin_unlock_bh(&pxmitpriv->lock); From 5bdc94816bf2988e12f16684d9ba6f4ec466581d Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 30 Jan 2023 20:52:57 +0100 Subject: [PATCH 177/219] staging: r8188eu: change another function param from __queue to list_head Modify the rtw_free_xmitframe_queue function to take a list_head pointer instead of a __queue pointer. This is an intermediate step towards changing struct tx_servq's sta_pending from __queue to list_head. Now that the function takes a list instead of a queue, we should also rename it to rtw_free_xmitframe_list. Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20230130195303.138941-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_sta_mgt.c | 10 +++++----- drivers/staging/r8188eu/core/rtw_xmit.c | 9 ++++----- drivers/staging/r8188eu/include/rtw_xmit.h | 3 +-- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_sta_mgt.c b/drivers/staging/r8188eu/core/rtw_sta_mgt.c index b4aee8623099..49a92725c5ed 100644 --- a/drivers/staging/r8188eu/core/rtw_sta_mgt.c +++ b/drivers/staging/r8188eu/core/rtw_sta_mgt.c @@ -260,22 +260,22 @@ void rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta) spin_lock_bh(&pxmitpriv->lock); - rtw_free_xmitframe_queue(pxmitpriv, &psta->sleep_q); + rtw_free_xmitframe_list(pxmitpriv, get_list_head(&psta->sleep_q)); psta->sleepq_len = 0; - rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->vo_q.sta_pending); + rtw_free_xmitframe_list(pxmitpriv, get_list_head(&pstaxmitpriv->vo_q.sta_pending)); list_del_init(&pstaxmitpriv->vo_q.tx_pending); - rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->vi_q.sta_pending); + rtw_free_xmitframe_list(pxmitpriv, get_list_head(&pstaxmitpriv->vi_q.sta_pending)); list_del_init(&pstaxmitpriv->vi_q.tx_pending); - rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->bk_q.sta_pending); + rtw_free_xmitframe_list(pxmitpriv, get_list_head(&pstaxmitpriv->bk_q.sta_pending)); list_del_init(&pstaxmitpriv->bk_q.tx_pending); - rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->be_q.sta_pending); + rtw_free_xmitframe_list(pxmitpriv, get_list_head(&pstaxmitpriv->be_q.sta_pending)); list_del_init(&pstaxmitpriv->be_q.tx_pending); diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 3117db41d749..d272166a99ec 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1325,15 +1325,14 @@ s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitfram return _SUCCESS; } -void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue) +void rtw_free_xmitframe_list(struct xmit_priv *pxmitpriv, struct list_head *xframe_list) { - struct list_head *plist, *phead; + struct list_head *plist; struct xmit_frame *pxmitframe; - phead = get_list_head(pframequeue); - plist = phead->next; + plist = xframe_list->next; - while (phead != plist) { + while (xframe_list != plist) { pxmitframe = container_of(plist, struct xmit_frame, list); plist = plist->next; diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index d8808e68f778..8557b311e809 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -309,8 +309,7 @@ s32 rtw_put_snap(u8 *data, u16 h_proto); struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv); s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe); -void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, - struct __queue *pframequeue); +void rtw_free_xmitframe_list(struct xmit_priv *pxmitpriv, struct list_head *xframe_list); struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, int up, u8 *ac); struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, From f5a894957063918bac8e05850c6e88eae5c93b6e Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 30 Jan 2023 20:52:58 +0100 Subject: [PATCH 178/219] staging: r8188eu: make sta_pending a list_head We can now change sta_pending in struct tx_servq from __queue to list_head. The driver defines __queue as list_head + spinlock, the spinlock is not used for sta_pending. Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20230130195303.138941-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_sta_mgt.c | 8 ++++---- drivers/staging/r8188eu/core/rtw_xmit.c | 16 ++++++++-------- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 4 ++-- drivers/staging/r8188eu/include/rtw_xmit.h | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_sta_mgt.c b/drivers/staging/r8188eu/core/rtw_sta_mgt.c index 49a92725c5ed..a9c29b2bf230 100644 --- a/drivers/staging/r8188eu/core/rtw_sta_mgt.c +++ b/drivers/staging/r8188eu/core/rtw_sta_mgt.c @@ -263,19 +263,19 @@ void rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta) rtw_free_xmitframe_list(pxmitpriv, get_list_head(&psta->sleep_q)); psta->sleepq_len = 0; - rtw_free_xmitframe_list(pxmitpriv, get_list_head(&pstaxmitpriv->vo_q.sta_pending)); + rtw_free_xmitframe_list(pxmitpriv, &pstaxmitpriv->vo_q.sta_pending); list_del_init(&pstaxmitpriv->vo_q.tx_pending); - rtw_free_xmitframe_list(pxmitpriv, get_list_head(&pstaxmitpriv->vi_q.sta_pending)); + rtw_free_xmitframe_list(pxmitpriv, &pstaxmitpriv->vi_q.sta_pending); list_del_init(&pstaxmitpriv->vi_q.tx_pending); - rtw_free_xmitframe_list(pxmitpriv, get_list_head(&pstaxmitpriv->bk_q.sta_pending)); + rtw_free_xmitframe_list(pxmitpriv, &pstaxmitpriv->bk_q.sta_pending); list_del_init(&pstaxmitpriv->bk_q.tx_pending); - rtw_free_xmitframe_list(pxmitpriv, get_list_head(&pstaxmitpriv->be_q.sta_pending)); + rtw_free_xmitframe_list(pxmitpriv, &pstaxmitpriv->be_q.sta_pending); list_del_init(&pstaxmitpriv->be_q.tx_pending); diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index d272166a99ec..24cf11e7b4bc 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -17,7 +17,7 @@ static u8 RFC1042_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0x00 }; static void _init_txservq(struct tx_servq *ptxservq) { INIT_LIST_HEAD(&ptxservq->tx_pending); - rtw_init_queue(&ptxservq->sta_pending); + INIT_LIST_HEAD(&ptxservq->sta_pending); ptxservq->qcnt = 0; } @@ -1361,7 +1361,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi for (i = 0; i < HWXMIT_ENTRY; i++) { phwxmit = phwxmit_i + inx[i]; list_for_each_entry_safe(ptxservq, tmp_txservq, phwxmit->sta_list, tx_pending) { - xframe_list = get_list_head(&ptxservq->sta_pending); + xframe_list = &ptxservq->sta_pending; if (list_empty(xframe_list)) continue; @@ -1444,7 +1444,7 @@ s32 rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe) if (list_empty(&ptxservq->tx_pending)) list_add_tail(&ptxservq->tx_pending, phwxmits[ac_index].sta_list); - list_add_tail(&pxmitframe->list, get_list_head(&ptxservq->sta_pending)); + list_add_tail(&pxmitframe->list, &ptxservq->sta_pending); ptxservq->qcnt++; phwxmits[ac_index].accnt++; exit: @@ -1832,21 +1832,21 @@ void stop_sta_xmit(struct adapter *padapter, struct sta_info *psta) pstapriv->sta_dz_bitmap |= BIT(psta->aid); - dequeue_xmitframes_to_sleeping_queue(padapter, psta, get_list_head(&pstaxmitpriv->vo_q.sta_pending)); + dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->vo_q.sta_pending); list_del_init(&pstaxmitpriv->vo_q.tx_pending); - dequeue_xmitframes_to_sleeping_queue(padapter, psta, get_list_head(&pstaxmitpriv->vi_q.sta_pending)); + dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->vi_q.sta_pending); list_del_init(&pstaxmitpriv->vi_q.tx_pending); - dequeue_xmitframes_to_sleeping_queue(padapter, psta, get_list_head(&pstaxmitpriv->be_q.sta_pending)); + dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->be_q.sta_pending); list_del_init(&pstaxmitpriv->be_q.tx_pending); - dequeue_xmitframes_to_sleeping_queue(padapter, psta, get_list_head(&pstaxmitpriv->bk_q.sta_pending)); + dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->bk_q.sta_pending); list_del_init(&pstaxmitpriv->bk_q.tx_pending); /* for BC/MC Frames */ pstaxmitpriv = &psta_bmc->sta_xmitpriv; - dequeue_xmitframes_to_sleeping_queue(padapter, psta_bmc, get_list_head(&pstaxmitpriv->be_q.sta_pending)); + dequeue_xmitframes_to_sleeping_queue(padapter, psta_bmc, &pstaxmitpriv->be_q.sta_pending); list_del_init(&pstaxmitpriv->be_q.tx_pending); spin_unlock_bh(&pxmitpriv->lock); diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c index 18557738dbad..5aa33fc4041d 100644 --- a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c +++ b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c @@ -461,7 +461,7 @@ bool rtl8188eu_xmitframe_complete(struct adapter *adapt) } spin_lock_bh(&pxmitpriv->lock); - xmitframe_phead = get_list_head(&ptxservq->sta_pending); + xmitframe_phead = &ptxservq->sta_pending; xmitframe_plist = xmitframe_phead->next; while (xmitframe_phead != xmitframe_plist) { @@ -512,7 +512,7 @@ bool rtl8188eu_xmitframe_complete(struct adapter *adapt) } } /* end while (aggregate same priority and same DA(AP or STA) frames) */ - if (list_empty(&ptxservq->sta_pending.queue)) + if (list_empty(&ptxservq->sta_pending)) list_del_init(&ptxservq->tx_pending); spin_unlock_bh(&pxmitpriv->lock); diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 8557b311e809..dfdc1c57d5d4 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -221,7 +221,7 @@ struct xmit_frame { struct tx_servq { struct list_head tx_pending; - struct __queue sta_pending; + struct list_head sta_pending; int qcnt; }; From 9cc5265ac8ed52b5d13684dc36947b3d0856add5 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 30 Jan 2023 20:52:59 +0100 Subject: [PATCH 179/219] staging: r8188eu: use kernel helper to iterate over a list rtw_free_xmitframe_list iterates over the list of xmit_frames and frees each entry. We can use list_for_each_entry_safe instead of coding this manually. We need the _safe version as the current pxmitframe will be removed from the list by rtw_free_xmitframe. Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20230130195303.138941-6-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 24cf11e7b4bc..c2b1e6f1d358 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1327,18 +1327,10 @@ s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitfram void rtw_free_xmitframe_list(struct xmit_priv *pxmitpriv, struct list_head *xframe_list) { - struct list_head *plist; - struct xmit_frame *pxmitframe; - - plist = xframe_list->next; - - while (xframe_list != plist) { - pxmitframe = container_of(plist, struct xmit_frame, list); - - plist = plist->next; + struct xmit_frame *pxmitframe, *tmp_xmitframe; + list_for_each_entry_safe(pxmitframe, tmp_xmitframe, xframe_list, list) rtw_free_xmitframe(pxmitpriv, pxmitframe); - } } struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i) From 5a4d1fd1586959578fdcdbbaa687d1f79b88448f Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 30 Jan 2023 20:53:00 +0100 Subject: [PATCH 180/219] staging: r8188eu: legacy_dz is initialised but never used legacy_dz in struct sta_xmit_priv is initialised but not used. It can be removed. Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20230130195303.138941-7-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 1 - drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index c2b1e6f1d358..797e24b852b1 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -29,7 +29,6 @@ void _rtw_init_sta_xmit_priv(struct sta_xmit_priv *psta_xmitpriv) _init_txservq(&psta_xmitpriv->bk_q); _init_txservq(&psta_xmitpriv->vi_q); _init_txservq(&psta_xmitpriv->vo_q); - INIT_LIST_HEAD(&psta_xmitpriv->legacy_dz); INIT_LIST_HEAD(&psta_xmitpriv->apsd); } diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index dfdc1c57d5d4..8566e731514c 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -232,7 +232,6 @@ struct sta_xmit_priv { struct tx_servq bk_q; /* priority == 1,2 */ struct tx_servq vi_q; /* priority == 4,5 */ struct tx_servq vo_q; /* priority == 6,7 */ - struct list_head legacy_dz; struct list_head apsd; u16 txseq_tid[16]; }; From 6a800cf38665ca47488acf2c88dad49ded557406 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 30 Jan 2023 20:53:01 +0100 Subject: [PATCH 181/219] staging: r8188eu: apsd is initialised but never used apsd in struct sta_xmit_priv is initialised but not used. It can be removed. Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20230130195303.138941-8-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 1 - drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 797e24b852b1..91f92ec5ef69 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -29,7 +29,6 @@ void _rtw_init_sta_xmit_priv(struct sta_xmit_priv *psta_xmitpriv) _init_txservq(&psta_xmitpriv->bk_q); _init_txservq(&psta_xmitpriv->vi_q); _init_txservq(&psta_xmitpriv->vo_q); - INIT_LIST_HEAD(&psta_xmitpriv->apsd); } static int rtw_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *pxmitbuf, diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 8566e731514c..4c508ab4c870 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -232,7 +232,6 @@ struct sta_xmit_priv { struct tx_servq bk_q; /* priority == 1,2 */ struct tx_servq vi_q; /* priority == 4,5 */ struct tx_servq vo_q; /* priority == 6,7 */ - struct list_head apsd; u16 txseq_tid[16]; }; From b6d2e4e0f3cc3f8d182e35c359cae9032b337435 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 30 Jan 2023 20:53:02 +0100 Subject: [PATCH 182/219] staging: r8188eu: option in struct sta_xmit_priv is not used The option component in struct sta_xmit_priv is not used, remove it. Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20230130195303.138941-9-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 4c508ab4c870..b332c2a86dbb 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -227,7 +227,6 @@ struct tx_servq { struct sta_xmit_priv { spinlock_t lock; - int option; struct tx_servq be_q; /* priority == 0,3 */ struct tx_servq bk_q; /* priority == 1,2 */ struct tx_servq vi_q; /* priority == 4,5 */ From edb3e231e47de091a169b4cd70852f29ba705c82 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 30 Jan 2023 20:53:03 +0100 Subject: [PATCH 183/219] staging: r8188eu: replace switch-case with if Replace a switch-case in rtw_write_port with an if statement and make the code a bit shorter. Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20230130195303.138941-10-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index c9ee1173a1d6..48c96f731ce1 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -121,14 +121,8 @@ u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem) status = usb_submit_urb(purb, GFP_ATOMIC); if (status) { rtw_sctx_done_err(&pxmitbuf->sctx, RTW_SCTX_DONE_WRITE_PORT_ERR); - - switch (status) { - case -ENODEV: + if (status == -ENODEV) padapter->bDriverStopped = true; - break; - default: - break; - } goto exit; } From 7f0c12449aa91867efb00f080fb34c77d40c81e6 Mon Sep 17 00:00:00 2001 From: Jongwoo Han Date: Tue, 31 Jan 2023 01:42:50 +0900 Subject: [PATCH 184/219] staging: vc04_services: mmal-vchiq: fix typo in comment Correct typo from 'witin' to 'within' in comment. Signed-off-by: Jongwoo Han Link: https://lore.kernel.org/r/20230130164250.51877-1-jongwooo.han@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c index 234e3764db64..258aa0e37f55 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c @@ -245,7 +245,7 @@ static void event_to_host_cb(struct vchiq_mmal_instance *instance, /* workqueue scheduled callback * * we do this because it is important we do not call any other vchiq - * sync calls from witin the message delivery thread + * sync calls from within the message delivery thread */ static void buffer_work_cb(struct work_struct *work) { From c6dd307144235f2abd97c974883398176345af9f Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 31 Jan 2023 10:00:57 +0100 Subject: [PATCH 185/219] staging: r8188eu: clean up NULL check for rcu pointer Clean up the NULL check for padapter->pnetdev->rx_handler_data. The current code calls rcu_dereference while it holds the rcu read lock and checks the pointer after releasing the lock. An rcu pointer may only be used between calls to rcu_read_lock and rcu_read_unlock. Replace the check with rcu_access_pointer. My understanding is that this function returns the value of the pointer and needs no locking. We can then check the pointer but we must not dereference it. Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20230131090057.241779-1-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 91f92ec5ef69..18941320e70e 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1631,18 +1631,14 @@ s32 rtw_xmit(struct adapter *padapter, struct sk_buff **ppkt) struct xmit_priv *pxmitpriv = &padapter->xmitpriv; struct xmit_frame *pxmitframe = NULL; struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - void *br_port = NULL; s32 res; pxmitframe = rtw_alloc_xmitframe(pxmitpriv); if (!pxmitframe) return -1; - rcu_read_lock(); - br_port = rcu_dereference(padapter->pnetdev->rx_handler_data); - rcu_read_unlock(); - - if (br_port && check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_ADHOC_STATE)) { + if (rcu_access_pointer(padapter->pnetdev->rx_handler_data) && + check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_ADHOC_STATE)) { res = rtw_br_client_tx(padapter, ppkt); if (res == -1) { rtw_free_xmitframe(pxmitpriv, pxmitframe); From eef4e616e7bf351d9f74a50004eecbd6bb192276 Mon Sep 17 00:00:00 2001 From: Guru Mehar Rachaputi Date: Tue, 31 Jan 2023 19:14:39 +0100 Subject: [PATCH 186/219] staging: pi433: Added information about bit_rate configuration Information in the TODO file for bit_rate configuration is insufficient. This patch adds information on how to approach when considering to modify bit_rate to support upto 300kbps. Signed-off-by: Guru Mehar Rachaputi Acked-by: Dan Carpenter Link: https://lore.kernel.org/r/Y9laj+z0TuasBRx5@combine-ThinkPad-S1-Yoga Signed-off-by: Greg Kroah-Hartman --- drivers/staging/pi433/TODO | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/staging/pi433/TODO b/drivers/staging/pi433/TODO index 5cf3fd99d521..23c808fc99de 100644 --- a/drivers/staging/pi433/TODO +++ b/drivers/staging/pi433/TODO @@ -3,3 +3,6 @@ * Some missing data (marked with ###) needs to be added in the documentation * Change (struct pi433_tx_cfg)->bit_rate to be a u32 so that we can support bit rates up to 300kbps per the spec. + -> This configuration needs to be moved to sysfs instead of being done through + IOCTL. Going forward, we need to port userspace tools to use sysfs instead + of IOCTL and then we would delete IOCTL. From 2f36e789e540df6a9fbf471b3a2ba62a8b361586 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 2 Feb 2023 15:11:38 +0100 Subject: [PATCH 187/219] staging: pi433: fix memory leak with using debugfs_lookup() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When calling debugfs_lookup() the result must have dput() called on it, otherwise the memory will leak over time. To make things simpler, just call debugfs_lookup_and_remove() instead which handles all of the logic at once. This requires saving off the root directory dentry to make creation of individual device subdirectories easier. Cc: Paulo Miguel Almeida Cc: Dan Carpenter Cc: Sidong Yang Cc: Liu Shixin Cc: "Uwe Kleine-König" Link: https://lore.kernel.org/r/20230202141138.2291946-1-gregkh@linuxfoundation.org Signed-off-by: Greg Kroah-Hartman --- drivers/staging/pi433/pi433_if.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c index d4e06a3929f3..b59f6a4cb611 100644 --- a/drivers/staging/pi433/pi433_if.c +++ b/drivers/staging/pi433/pi433_if.c @@ -55,6 +55,7 @@ static dev_t pi433_dev; static DEFINE_IDR(pi433_idr); static DEFINE_MUTEX(minor_lock); /* Protect idr accesses */ +static struct dentry *root_dir; /* debugfs root directory for the driver */ static struct class *pi433_class; /* mainly for udev to create /dev/pi433 */ @@ -1306,8 +1307,7 @@ static int pi433_probe(struct spi_device *spi) /* spi setup */ spi_set_drvdata(spi, device); - entry = debugfs_create_dir(dev_name(device->dev), - debugfs_lookup(KBUILD_MODNAME, NULL)); + entry = debugfs_create_dir(dev_name(device->dev), root_dir); debugfs_create_file("regs", 0400, entry, device, &pi433_debugfs_regs_fops); return 0; @@ -1333,9 +1333,8 @@ static int pi433_probe(struct spi_device *spi) static void pi433_remove(struct spi_device *spi) { struct pi433_device *device = spi_get_drvdata(spi); - struct dentry *mod_entry = debugfs_lookup(KBUILD_MODNAME, NULL); - debugfs_remove(debugfs_lookup(dev_name(device->dev), mod_entry)); + debugfs_lookup_and_remove(dev_name(device->dev), root_dir); /* free GPIOs */ free_gpio(device); @@ -1408,7 +1407,7 @@ static int __init pi433_init(void) return PTR_ERR(pi433_class); } - debugfs_create_dir(KBUILD_MODNAME, NULL); + root_dir = debugfs_create_dir(KBUILD_MODNAME, NULL); status = spi_register_driver(&pi433_spi_driver); if (status < 0) { @@ -1427,7 +1426,7 @@ static void __exit pi433_exit(void) spi_unregister_driver(&pi433_spi_driver); class_destroy(pi433_class); unregister_chrdev(MAJOR(pi433_dev), pi433_spi_driver.driver.name); - debugfs_remove_recursive(debugfs_lookup(KBUILD_MODNAME, NULL)); + debugfs_remove(root_dir); } module_exit(pi433_exit); From 7e00e0c42d119090373d179a6fdc2ab09db5c4f8 Mon Sep 17 00:00:00 2001 From: Michael Straube Date: Sun, 5 Feb 2023 09:05:58 +0100 Subject: [PATCH 188/219] staging: r8188eu: correct error logic of rtl8188eu_init_recv_priv() Convert the function rtl8188eu_init_recv_priv() away from returning _FAIL and _SUCCESS, which uses inverted error logic. Return 0 for success and negative values for failure instead. Signed-off-by: Michael Straube Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230205080559.8319-2-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_recv.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r8188eu/core/rtw_recv.c index 631c500dda42..70d43c10e53d 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -38,7 +38,7 @@ void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv) static int rtl8188eu_init_recv_priv(struct adapter *padapter) { struct recv_priv *precvpriv = &padapter->recvpriv; - int i, res = _SUCCESS; + int i, err = 0; struct recv_buf *precvbuf; tasklet_init(&precvpriv->recv_tasklet, @@ -50,10 +50,8 @@ static int rtl8188eu_init_recv_priv(struct adapter *padapter) precvpriv->pallocated_recv_buf = kzalloc(NR_RECVBUFF * sizeof(struct recv_buf) + 4, GFP_KERNEL); - if (!precvpriv->pallocated_recv_buf) { - res = _FAIL; - goto exit; - } + if (!precvpriv->pallocated_recv_buf) + return -ENOMEM; precvpriv->precv_buf = (u8 *)ALIGN((size_t)(precvpriv->pallocated_recv_buf), 4); @@ -64,7 +62,7 @@ static int rtl8188eu_init_recv_priv(struct adapter *padapter) precvbuf->reuse = false; precvbuf->purb = usb_alloc_urb(0, GFP_KERNEL); if (!precvbuf->purb) { - res = _FAIL; + err = -ENOMEM; break; } precvbuf->adapter = padapter; @@ -94,8 +92,8 @@ static int rtl8188eu_init_recv_priv(struct adapter *padapter) pskb = NULL; } } -exit: - return res; + + return err; } int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter) @@ -141,7 +139,8 @@ int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter) } precvpriv->rx_pending_cnt = 1; - res = rtl8188eu_init_recv_priv(padapter); + if (rtl8188eu_init_recv_priv(padapter)) + res = _FAIL; timer_setup(&precvpriv->signal_stat_timer, rtw_signal_stat_timer_hdl, 0); precvpriv->signal_stat_sampling_interval = 1000; /* ms */ From 3d281bdbffb330da562df985dc30ed1075b638f4 Mon Sep 17 00:00:00 2001 From: Michael Straube Date: Sun, 5 Feb 2023 09:05:59 +0100 Subject: [PATCH 189/219] staging: r8188eu: correct error logic of _rtw_init_recv_priv() Convert the function _rtw_init_recv_priv() away from returning _FAIL and _SUCCESS, which uses inverted error logic. Return 0 for success and negative values for failure instead. Signed-off-by: Michael Straube Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230205080559.8319-3-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_recv.c | 17 +++++------------ drivers/staging/r8188eu/os_dep/os_intfs.c | 2 +- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r8188eu/core/rtw_recv.c index 70d43c10e53d..fc7568cf948b 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -99,10 +99,8 @@ static int rtl8188eu_init_recv_priv(struct adapter *padapter) int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter) { int i; - struct recv_frame *precvframe; - - int res = _SUCCESS; + int err; spin_lock_init(&precvpriv->lock); @@ -115,11 +113,8 @@ int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter) precvpriv->free_recvframe_cnt = NR_RECVFRAME; precvpriv->pallocated_frame_buf = vzalloc(NR_RECVFRAME * sizeof(struct recv_frame) + RXFRAME_ALIGN_SZ); - - if (!precvpriv->pallocated_frame_buf) { - res = _FAIL; - goto exit; - } + if (!precvpriv->pallocated_frame_buf) + return -ENOMEM; precvpriv->precv_frame_buf = (u8 *)ALIGN((size_t)(precvpriv->pallocated_frame_buf), RXFRAME_ALIGN_SZ); @@ -139,16 +134,14 @@ int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter) } precvpriv->rx_pending_cnt = 1; - if (rtl8188eu_init_recv_priv(padapter)) - res = _FAIL; + err = rtl8188eu_init_recv_priv(padapter); timer_setup(&precvpriv->signal_stat_timer, rtw_signal_stat_timer_hdl, 0); precvpriv->signal_stat_sampling_interval = 1000; /* ms */ rtw_set_signal_stat_timer(precvpriv); -exit: - return res; + return err; } static void rtl8188eu_free_recv_priv(struct adapter *padapter) diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c index cfc24420e70c..4130e8fe2952 100644 --- a/drivers/staging/r8188eu/os_dep/os_intfs.c +++ b/drivers/staging/r8188eu/os_dep/os_intfs.c @@ -482,7 +482,7 @@ u8 rtw_init_drv_sw(struct adapter *padapter) goto free_mlme_ext; } - if (_rtw_init_recv_priv(&padapter->recvpriv, padapter) == _FAIL) { + if (_rtw_init_recv_priv(&padapter->recvpriv, padapter)) { dev_err(dvobj_to_dev(padapter->dvobj), "_rtw_init_recv_priv failed\n"); goto free_xmit_priv; } From ca0e0d84aecaa279f9c05bd5852c9958790c8233 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 6 Feb 2023 21:17:55 +0100 Subject: [PATCH 190/219] staging: r8188eu: pass a struct recv_buf to rtw_read_port The rtw_read_port function needs a struct recv_buf for preparing the usb transfer. Replace its u8 *rmem parameter with a struct recv_buf pointer to avoid casts in the caller and in rtw_read_port. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230206201800.139195-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/usb_halinit.c | 2 +- drivers/staging/r8188eu/hal/usb_ops_linux.c | 9 ++++----- drivers/staging/r8188eu/include/rtw_io.h | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8188eu/hal/usb_halinit.c index b7c9e5fd9a59..25fd6f8d814c 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -860,7 +860,7 @@ unsigned int rtl8188eu_inirp_init(struct adapter *Adapter) /* issue Rx irp to receive data */ precvbuf = (struct recv_buf *)precvpriv->precv_buf; for (i = 0; i < NR_RECVBUFF; i++) { - if (!rtw_read_port(Adapter, (unsigned char *)precvbuf)) { + if (!rtw_read_port(Adapter, precvbuf)) { status = _FAIL; goto exit; } diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c index 9c940ab8fd41..225a422ede4f 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -364,7 +364,7 @@ static void usb_read_port_complete(struct urb *purb) if (purb->status == 0) { /* SUCCESS */ if ((purb->actual_length > MAX_RECVBUF_SZ) || (purb->actual_length < RXDESC_SIZE)) { precvbuf->reuse = true; - rtw_read_port(adapt, (unsigned char *)precvbuf); + rtw_read_port(adapt, precvbuf); } else { rtw_reset_continual_urb_error(adapter_to_dvobj(adapt)); @@ -376,7 +376,7 @@ static void usb_read_port_complete(struct urb *purb) precvbuf->pskb = NULL; precvbuf->reuse = false; - rtw_read_port(adapt, (unsigned char *)precvbuf); + rtw_read_port(adapt, precvbuf); } } else { skb_put(precvbuf->pskb, purb->actual_length); @@ -396,7 +396,7 @@ static void usb_read_port_complete(struct urb *purb) case -EPROTO: case -EOVERFLOW: precvbuf->reuse = true; - rtw_read_port(adapt, (unsigned char *)precvbuf); + rtw_read_port(adapt, precvbuf); break; case -EINPROGRESS: break; @@ -406,10 +406,9 @@ static void usb_read_port_complete(struct urb *purb) } } -u32 rtw_read_port(struct adapter *adapter, u8 *rmem) +u32 rtw_read_port(struct adapter *adapter, struct recv_buf *precvbuf) { struct urb *purb = NULL; - struct recv_buf *precvbuf = (struct recv_buf *)rmem; struct dvobj_priv *pdvobj = adapter_to_dvobj(adapter); struct recv_priv *precvpriv = &adapter->recvpriv; struct usb_device *pusbd = pdvobj->pusbdev; diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 090555f562f2..6b1de4f0e287 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -19,7 +19,7 @@ int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data); int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data); int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data); -u32 rtw_read_port(struct adapter *adapter, u8 *pmem); +u32 rtw_read_port(struct adapter *adapter, struct recv_buf *precvbuf); void rtw_read_port_cancel(struct adapter *adapter); int rtw_write8(struct adapter *adapter, u32 addr, u8 val); From 972b28a485a31e683050a00e1999d49d9bb8b822 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 6 Feb 2023 21:17:56 +0100 Subject: [PATCH 191/219] staging: r8188eu: use standard error codes in rtw_read_port Replace the driver-specific _SUCCESS and _FAIL error codes in rtw_read_port. Return 0 for success or a negative error code as we do elsewhere in the kernel. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230206201800.139195-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/usb_ops_linux.c | 13 ++++++------- drivers/staging/r8188eu/include/rtw_io.h | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c index 225a422ede4f..9611b19ab55b 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -406,7 +406,7 @@ static void usb_read_port_complete(struct urb *purb) } } -u32 rtw_read_port(struct adapter *adapter, struct recv_buf *precvbuf) +int rtw_read_port(struct adapter *adapter, struct recv_buf *precvbuf) { struct urb *purb = NULL; struct dvobj_priv *pdvobj = adapter_to_dvobj(adapter); @@ -416,13 +416,12 @@ u32 rtw_read_port(struct adapter *adapter, struct recv_buf *precvbuf) unsigned int pipe; size_t tmpaddr = 0; size_t alignment = 0; - u32 ret = _SUCCESS; if (adapter->bDriverStopped || adapter->bSurpriseRemoved) - return _FAIL; + return -EPERM; if (!precvbuf) - return _FAIL; + return -ENOMEM; if (!precvbuf->reuse || !precvbuf->pskb) { precvbuf->pskb = skb_dequeue(&precvpriv->free_recv_skb_queue); @@ -434,7 +433,7 @@ u32 rtw_read_port(struct adapter *adapter, struct recv_buf *precvbuf) if (!precvbuf->reuse || !precvbuf->pskb) { precvbuf->pskb = netdev_alloc_skb(adapter->pnetdev, MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ); if (!precvbuf->pskb) - return _FAIL; + return -ENOMEM; tmpaddr = (size_t)precvbuf->pskb->data; alignment = tmpaddr & (RECVBUFF_ALIGN_SZ - 1); @@ -458,9 +457,9 @@ u32 rtw_read_port(struct adapter *adapter, struct recv_buf *precvbuf) err = usb_submit_urb(purb, GFP_ATOMIC); if ((err) && (err != (-EPERM))) - ret = _FAIL; + return err; - return ret; + return 0; } void rtl8188eu_xmit_tasklet(unsigned long priv) diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h index 6b1de4f0e287..e1718f739cc9 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -19,7 +19,7 @@ int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data); int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data); int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data); -u32 rtw_read_port(struct adapter *adapter, struct recv_buf *precvbuf); +int rtw_read_port(struct adapter *adapter, struct recv_buf *precvbuf); void rtw_read_port_cancel(struct adapter *adapter); int rtw_write8(struct adapter *adapter, u32 addr, u8 val); From a0b3a1c269d32a0d96b50de4b2a301add847b3cf Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 6 Feb 2023 21:17:57 +0100 Subject: [PATCH 192/219] staging: r8188eu: use standard error codes in rtl8188eu_inirp_init Replace the driver-specific _SUCCESS and _FAIL error codes in rtl8188eu_inirp_init. Return 0 for success or a negative error code as we do elsewhere in the kernel. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230206201800.139195-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/usb_halinit.c | 16 ++++++---------- drivers/staging/r8188eu/include/hal_intf.h | 2 +- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8188eu/hal/usb_halinit.c index 25fd6f8d814c..a1051ac1cac4 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -848,29 +848,25 @@ u32 rtl8188eu_hal_deinit(struct adapter *Adapter) return _SUCCESS; } -unsigned int rtl8188eu_inirp_init(struct adapter *Adapter) +int rtl8188eu_inirp_init(struct adapter *Adapter) { u8 i; struct recv_buf *precvbuf; - uint status; struct recv_priv *precvpriv = &Adapter->recvpriv; - - status = _SUCCESS; + int ret; /* issue Rx irp to receive data */ precvbuf = (struct recv_buf *)precvpriv->precv_buf; for (i = 0; i < NR_RECVBUFF; i++) { - if (!rtw_read_port(Adapter, precvbuf)) { - status = _FAIL; - goto exit; - } + ret = rtw_read_port(Adapter, precvbuf); + if (ret) + return ret; precvbuf++; precvpriv->free_recv_buf_queue_cnt--; } -exit: - return status; + return 0; } /* */ diff --git a/drivers/staging/r8188eu/include/hal_intf.h b/drivers/staging/r8188eu/include/hal_intf.h index ac6e3f95c5b7..296aa5b8268d 100644 --- a/drivers/staging/r8188eu/include/hal_intf.h +++ b/drivers/staging/r8188eu/include/hal_intf.h @@ -26,7 +26,7 @@ void UpdateHalRAMask8188EUsb(struct adapter *adapt, u32 mac_id, u8 rssi_level); int rtl8188e_IOL_exec_cmds_sync(struct adapter *adapter, struct xmit_frame *xmit_frame, u32 max_wating_ms, u32 bndy_cnt); -unsigned int rtl8188eu_inirp_init(struct adapter *Adapter); +int rtl8188eu_inirp_init(struct adapter *Adapter); uint rtw_hal_init(struct adapter *padapter); uint rtw_hal_deinit(struct adapter *padapter); From 49c41602a37b5fcad1203270eb95541e773bba0b Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 6 Feb 2023 21:17:58 +0100 Subject: [PATCH 193/219] staging: r8188eu: remove intf_start pointer Remove the intf_start pointer that points to a media-specific start function (pci, usb, sdio, ...). The r8188eu driver supports only usb. We could call usb_intf_start directly instead of going through the function pointer. usb_intf_start is just a call to rtl8188eu_inirp_init so we can directly replace the intf_start pointer with rtl8188eu_inirp_init. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230206201800.139195-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/drv_types.h | 1 - drivers/staging/r8188eu/os_dep/os_intfs.c | 6 ++---- drivers/staging/r8188eu/os_dep/usb_intf.c | 6 ------ 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/drivers/staging/r8188eu/include/drv_types.h b/drivers/staging/r8188eu/include/drv_types.h index 7b170eed66b3..40f13f185895 100644 --- a/drivers/staging/r8188eu/include/drv_types.h +++ b/drivers/staging/r8188eu/include/drv_types.h @@ -171,7 +171,6 @@ struct adapter { s8 signal_strength; void *cmdThread; - void (*intf_start)(struct adapter *adapter); void (*intf_stop)(struct adapter *adapter); struct net_device *pnetdev; diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c index 4130e8fe2952..e48dbdfefedb 100644 --- a/drivers/staging/r8188eu/os_dep/os_intfs.c +++ b/drivers/staging/r8188eu/os_dep/os_intfs.c @@ -631,8 +631,7 @@ static int _netdev_open(struct net_device *pnetdev) pr_info("can't init mlme_ext_priv\n"); goto netdev_open_error; } - if (padapter->intf_start) - padapter->intf_start(padapter); + rtl8188eu_inirp_init(padapter); rtw_led_control(padapter, LED_CTL_NO_LINK); @@ -684,8 +683,7 @@ static int ips_netdrv_open(struct adapter *padapter) if (status == _FAIL) goto netdev_open_error; - if (padapter->intf_start) - padapter->intf_start(padapter); + rtl8188eu_inirp_init(padapter); rtw_set_pwr_state_check_timer(&padapter->pwrctrlpriv); _set_timer(&padapter->mlmepriv.dynamic_chk_timer, 5000); diff --git a/drivers/staging/r8188eu/os_dep/usb_intf.c b/drivers/staging/r8188eu/os_dep/usb_intf.c index 1f114b1fc4d5..ca9a7c0e5159 100644 --- a/drivers/staging/r8188eu/os_dep/usb_intf.c +++ b/drivers/staging/r8188eu/os_dep/usb_intf.c @@ -152,11 +152,6 @@ static void usb_dvobj_deinit(struct usb_interface *usb_intf) } -static void usb_intf_start(struct adapter *padapter) -{ - rtl8188eu_inirp_init(padapter); -} - static void usb_intf_stop(struct adapter *padapter) { /* cancel in irp */ @@ -313,7 +308,6 @@ static int rtw_usb_if1_init(struct dvobj_priv *dvobj, struct usb_interface *pusb SET_NETDEV_DEV(pnetdev, dvobj_to_dev(dvobj)); padapter = rtw_netdev_priv(pnetdev); - padapter->intf_start = &usb_intf_start; padapter->intf_stop = &usb_intf_stop; /* step read_chip_version */ From da61c45f4804707768545a7bfc227b3e580fcb09 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 6 Feb 2023 21:17:59 +0100 Subject: [PATCH 194/219] staging: r8188eu: handle rtl8188eu_inirp_init errors The rtl8188eu_inirp_init returns 0 for success or a negative error code. Handle this return value in the two places where rtl8188eu_inirp_init is called. Suggested-by: Pavel Skripkin Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230206201800.139195-6-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/os_dep/os_intfs.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c index e48dbdfefedb..bd3c17f580c8 100644 --- a/drivers/staging/r8188eu/os_dep/os_intfs.c +++ b/drivers/staging/r8188eu/os_dep/os_intfs.c @@ -631,7 +631,8 @@ static int _netdev_open(struct net_device *pnetdev) pr_info("can't init mlme_ext_priv\n"); goto netdev_open_error; } - rtl8188eu_inirp_init(padapter); + if (rtl8188eu_inirp_init(padapter)) + goto netdev_open_error; rtw_led_control(padapter, LED_CTL_NO_LINK); @@ -683,7 +684,8 @@ static int ips_netdrv_open(struct adapter *padapter) if (status == _FAIL) goto netdev_open_error; - rtl8188eu_inirp_init(padapter); + if (rtl8188eu_inirp_init(padapter)) + goto netdev_open_error; rtw_set_pwr_state_check_timer(&padapter->pwrctrlpriv); _set_timer(&padapter->mlmepriv.dynamic_chk_timer, 5000); From 64e8bbbc08b00c2207ac536f420f740ac3fb324e Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 6 Feb 2023 21:18:00 +0100 Subject: [PATCH 195/219] staging: r8188eu: remove intf_stop pointer Remove the intf_stop pointer that points to a media-specific stop function. The r8188eu driver supports only usb. For usb drivers, intf_stop points to usb_intf_stop, which is only two lines long. We can remove intf_stop and usb_intf_stop and call the two cancel functions directly. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230206201800.139195-7-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/drv_types.h | 1 - drivers/staging/r8188eu/os_dep/os_intfs.c | 4 ++-- drivers/staging/r8188eu/os_dep/usb_intf.c | 18 +++--------------- 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/drivers/staging/r8188eu/include/drv_types.h b/drivers/staging/r8188eu/include/drv_types.h index 40f13f185895..159990facb8a 100644 --- a/drivers/staging/r8188eu/include/drv_types.h +++ b/drivers/staging/r8188eu/include/drv_types.h @@ -171,7 +171,6 @@ struct adapter { s8 signal_strength; void *cmdThread; - void (*intf_stop)(struct adapter *adapter); struct net_device *pnetdev; /* used by rtw_rereg_nd_name related function */ diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c index bd3c17f580c8..dc419fd1ffa5 100644 --- a/drivers/staging/r8188eu/os_dep/os_intfs.c +++ b/drivers/staging/r8188eu/os_dep/os_intfs.c @@ -761,8 +761,8 @@ void rtw_ips_dev_unload(struct adapter *padapter) { rtw_fifo_cleanup(padapter); - if (padapter->intf_stop) - padapter->intf_stop(padapter); + rtw_read_port_cancel(padapter); + rtw_write_port_cancel(padapter); /* s5. */ if (!padapter->bSurpriseRemoved) diff --git a/drivers/staging/r8188eu/os_dep/usb_intf.c b/drivers/staging/r8188eu/os_dep/usb_intf.c index ca9a7c0e5159..74a16d1757ce 100644 --- a/drivers/staging/r8188eu/os_dep/usb_intf.c +++ b/drivers/staging/r8188eu/os_dep/usb_intf.c @@ -152,17 +152,6 @@ static void usb_dvobj_deinit(struct usb_interface *usb_intf) } -static void usb_intf_stop(struct adapter *padapter) -{ - /* cancel in irp */ - rtw_read_port_cancel(padapter); - - /* cancel out irp */ - rtw_write_port_cancel(padapter); - - /* todo:cancel other irps */ -} - static void rtw_dev_unload(struct adapter *padapter) { if (padapter->bup) { @@ -170,8 +159,9 @@ static void rtw_dev_unload(struct adapter *padapter) if (padapter->xmitpriv.ack_tx) rtw_ack_tx_done(&padapter->xmitpriv, RTW_SCTX_DONE_DRV_STOP); /* s3. */ - if (padapter->intf_stop) - padapter->intf_stop(padapter); + rtw_read_port_cancel(padapter); + rtw_write_port_cancel(padapter); + /* s4. */ rtw_stop_drv_threads(padapter); @@ -308,8 +298,6 @@ static int rtw_usb_if1_init(struct dvobj_priv *dvobj, struct usb_interface *pusb SET_NETDEV_DEV(pnetdev, dvobj_to_dev(dvobj)); padapter = rtw_netdev_priv(pnetdev); - padapter->intf_stop = &usb_intf_stop; - /* step read_chip_version */ rtl8188e_read_chip_version(padapter); From 815950ef52001c169b7fb32781163cf5dc62a53d Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 6 Feb 2023 22:01:22 +0100 Subject: [PATCH 196/219] staging: r8188eu: make ips_enter static The ips_enter function is used only in rtw_pwrctrl.c. We can make this function static. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230206210124.150142-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_pwrctrl.c | 2 +- drivers/staging/r8188eu/include/rtw_pwrctrl.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r8188eu/core/rtw_pwrctrl.c index 5290ac36f08c..e70d78357bcb 100644 --- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -8,7 +8,7 @@ #include "../include/osdep_intf.h" #include "../include/linux/usb.h" -void ips_enter(struct adapter *padapter) +static void ips_enter(struct adapter *padapter) { struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv; struct xmit_priv *pxmit_priv = &padapter->xmitpriv; diff --git a/drivers/staging/r8188eu/include/rtw_pwrctrl.h b/drivers/staging/r8188eu/include/rtw_pwrctrl.h index 6e9fdd66fad1..56492ab0f78d 100644 --- a/drivers/staging/r8188eu/include/rtw_pwrctrl.h +++ b/drivers/staging/r8188eu/include/rtw_pwrctrl.h @@ -99,7 +99,6 @@ void rtw_set_firmware_ps_mode(struct adapter *adapter, u8 mode); void rtw_set_ps_mode(struct adapter *adapter, u8 ps_mode, u8 smart_ps, u8 bcn_ant_mode); void LeaveAllPowerSaveMode(struct adapter *adapter); -void ips_enter(struct adapter *padapter); int ips_leave(struct adapter *padapter); void rtw_ps_processor(struct adapter *padapter); From 75c68a49cb48388eb4225ee97a53bea99238c88c Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 6 Feb 2023 22:01:23 +0100 Subject: [PATCH 197/219] staging: r8188eu: make ips_leave static The ips_leave function is used only in rtw_pwrctrl.c. We can make this function static. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230206210124.150142-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_pwrctrl.c | 2 +- drivers/staging/r8188eu/include/rtw_pwrctrl.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r8188eu/core/rtw_pwrctrl.c index e70d78357bcb..702a29f96d74 100644 --- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -39,7 +39,7 @@ static void ips_enter(struct adapter *padapter) mutex_unlock(&pwrpriv->lock); } -int ips_leave(struct adapter *padapter) +static int ips_leave(struct adapter *padapter) { struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv; struct security_priv *psecuritypriv = &padapter->securitypriv; diff --git a/drivers/staging/r8188eu/include/rtw_pwrctrl.h b/drivers/staging/r8188eu/include/rtw_pwrctrl.h index 56492ab0f78d..f7aeac262fad 100644 --- a/drivers/staging/r8188eu/include/rtw_pwrctrl.h +++ b/drivers/staging/r8188eu/include/rtw_pwrctrl.h @@ -99,7 +99,6 @@ void rtw_set_firmware_ps_mode(struct adapter *adapter, u8 mode); void rtw_set_ps_mode(struct adapter *adapter, u8 ps_mode, u8 smart_ps, u8 bcn_ant_mode); void LeaveAllPowerSaveMode(struct adapter *adapter); -int ips_leave(struct adapter *padapter); void rtw_ps_processor(struct adapter *padapter); From 0fb449c5749ce5a6238a53f69bf178405862473e Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 6 Feb 2023 22:01:24 +0100 Subject: [PATCH 198/219] staging: r8188eu: remove change_rfpwrstate Remove the change_rfpwrstate component in struct pwrctrl_priv. change_rfpwrstate is set to rf_off directly before each ips_enter call and then checked in ips_enter. This makes no sense. change_rfpwrstate might have been used to avoid conflicts between suspend and resume operations. If a driver has to do this at all, pwrpriv->ps_processing will do this job. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230206210124.150142-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_pwrctrl.c | 19 ++++++++----------- drivers/staging/r8188eu/include/rtw_pwrctrl.h | 1 - 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r8188eu/core/rtw_pwrctrl.c index 702a29f96d74..051cdcb11ff5 100644 --- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -25,15 +25,14 @@ static void ips_enter(struct adapter *padapter) pwrpriv->ips_mode = pwrpriv->ips_mode_req; pwrpriv->ips_enter_cnts++; - if (rf_off == pwrpriv->change_rfpwrstate) { - pwrpriv->bpower_saving = true; + pwrpriv->bpower_saving = true; - if (pwrpriv->ips_mode == IPS_LEVEL_2) - pwrpriv->bkeepfwalive = true; + if (pwrpriv->ips_mode == IPS_LEVEL_2) + pwrpriv->bkeepfwalive = true; + + rtw_ips_pwr_down(padapter); + pwrpriv->rf_pwrstate = rf_off; - rtw_ips_pwr_down(padapter); - pwrpriv->rf_pwrstate = rf_off; - } pwrpriv->bips_processing = false; mutex_unlock(&pwrpriv->lock); @@ -51,7 +50,6 @@ static int ips_leave(struct adapter *padapter) if ((pwrpriv->rf_pwrstate == rf_off) && (!pwrpriv->bips_processing)) { pwrpriv->bips_processing = true; - pwrpriv->change_rfpwrstate = rf_on; pwrpriv->ips_leave_cnts++; result = rtw_ips_pwr_up(padapter); @@ -133,10 +131,9 @@ void rtw_ps_processor(struct adapter *padapter) if (!rtw_pwr_unassociated_idle(padapter)) goto exit; - if (pwrpriv->rf_pwrstate == rf_on) { - pwrpriv->change_rfpwrstate = rf_off; + if (pwrpriv->rf_pwrstate == rf_on) ips_enter(padapter); - } + exit: rtw_set_pwr_state_check_timer(&padapter->pwrctrlpriv); pwrpriv->ps_processing = false; diff --git a/drivers/staging/r8188eu/include/rtw_pwrctrl.h b/drivers/staging/r8188eu/include/rtw_pwrctrl.h index f7aeac262fad..9f5cffd8bfb1 100644 --- a/drivers/staging/r8188eu/include/rtw_pwrctrl.h +++ b/drivers/staging/r8188eu/include/rtw_pwrctrl.h @@ -71,7 +71,6 @@ struct pwrctrl_priv { int pwr_state_check_interval; enum rt_rf_power_state rf_pwrstate;/* cur power state */ - enum rt_rf_power_state change_rfpwrstate; u8 bkeepfwalive; }; From aec9b5bb8f653277a96818d580035f8325de443c Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 7 Feb 2023 20:23:13 +0100 Subject: [PATCH 199/219] staging: r8188eu: merge do_queue_select into its only caller Merge do_queue_select into its only caller. It's only a simple assignment. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230207192319.294203-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 18941320e70e..4d6210d89533 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1609,15 +1609,6 @@ u32 rtw_get_ff_hwaddr(struct xmit_frame *pxmitframe) return addr; } -static void do_queue_select(struct adapter *padapter, struct pkt_attrib *pattrib) -{ - u8 qsel; - - qsel = pattrib->priority; - - pattrib->qsel = qsel; -} - /* * The main transmit(tx) entry * @@ -1656,7 +1647,7 @@ s32 rtw_xmit(struct adapter *padapter, struct sk_buff **ppkt) rtw_led_control(padapter, LED_CTL_TX); - do_queue_select(padapter, &pxmitframe->attrib); + pxmitframe->attrib.qsel = pxmitframe->attrib.priority; spin_lock_bh(&pxmitpriv->lock); if (xmitframe_enqueue_for_sleeping_sta(padapter, pxmitframe)) { From f141c234cbc87a3189cdad67c6d547b77967e715 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 7 Feb 2023 20:23:14 +0100 Subject: [PATCH 200/219] staging: r8188eu: simplify rtw_alloc_xmitframe Make the rtw_alloc_xmitframe function a bit simpler. The container_of() call never returns NULL. The if (pxframe) check is false only if pfree_xmit_queue is empty. Handle this special case explicitly and save one level of indentation. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230207192319.294203-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 40 +++++++++++-------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 4d6210d89533..6ec342b726f9 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1256,38 +1256,32 @@ struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv)/* _queue *pf spin_lock_bh(&pfree_xmit_queue->lock); - if (list_empty(&pfree_xmit_queue->queue)) { - pxframe = NULL; - } else { - phead = get_list_head(pfree_xmit_queue); + if (list_empty(&pfree_xmit_queue->queue)) + goto out; - plist = phead->next; + phead = get_list_head(pfree_xmit_queue); + plist = phead->next; + pxframe = container_of(plist, struct xmit_frame, list); + list_del_init(&pxframe->list); - pxframe = container_of(plist, struct xmit_frame, list); + pxmitpriv->free_xmitframe_cnt--; - list_del_init(&pxframe->list); - } + pxframe->buf_addr = NULL; + pxframe->pxmitbuf = NULL; - if (pxframe) { /* default value setting */ - pxmitpriv->free_xmitframe_cnt--; + memset(&pxframe->attrib, 0, sizeof(struct pkt_attrib)); + /* pxframe->attrib.psta = NULL; */ - pxframe->buf_addr = NULL; - pxframe->pxmitbuf = NULL; + pxframe->frame_tag = DATA_FRAMETAG; - memset(&pxframe->attrib, 0, sizeof(struct pkt_attrib)); - /* pxframe->attrib.psta = NULL; */ + pxframe->pkt = NULL; + pxframe->pkt_offset = 1;/* default use pkt_offset to fill tx desc */ - pxframe->frame_tag = DATA_FRAMETAG; - - pxframe->pkt = NULL; - pxframe->pkt_offset = 1;/* default use pkt_offset to fill tx desc */ - - pxframe->agg_num = 1; - pxframe->ack_report = 0; - } + pxframe->agg_num = 1; + pxframe->ack_report = 0; +out: spin_unlock_bh(&pfree_xmit_queue->lock); - return pxframe; } From b7c269aef0f130273381e70b7b6055908e73d000 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 7 Feb 2023 20:23:15 +0100 Subject: [PATCH 201/219] staging: r8188eu: remove unused frametag defines Remove some frametag defines which are not used in the r8188eu driver. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230207192319.294203-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_xmit.h | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index b332c2a86dbb..0c999ae6a1f1 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -152,14 +152,7 @@ struct pkt_attrib { #define NULL_FRAMETAG (0x0) #define DATA_FRAMETAG 0x01 -#define L2_FRAMETAG 0x02 #define MGNT_FRAMETAG 0x03 -#define AMSDU_FRAMETAG 0x04 - -#define EII_FRAMETAG 0x05 -#define IEEE8023_FRAMETAG 0x06 - -#define MP_FRAMETAG 0x07 #define TXAGG_FRAMETAG 0x08 From b5e9b074275fe80b8483260e81979fef720bb73a Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 7 Feb 2023 20:23:16 +0100 Subject: [PATCH 202/219] staging: r8188eu: xmit_buf's ff_hwaddr is not used ff_hwaddr in struct xmit_buf is not used. Remove it. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230207192319.294203-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 0c999ae6a1f1..9a001fbf45a0 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -193,7 +193,6 @@ struct xmit_buf { u32 alloc_sz; u32 len; struct submit_ctx *sctx; - u32 ff_hwaddr; struct urb *pxmit_urb; int last[8]; }; From 2bc00bac61ddc253d67da266372a04a23be08bd2 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 7 Feb 2023 20:23:17 +0100 Subject: [PATCH 203/219] staging: r8188eu: simplify xmit_buf flags rtw_write_port stores a queue index in pxmitbuf->flags before submitting an urb. The urb completion function reads the flags. All it needs is the info if the high queue was used or not. We can replace the flags with a boolean high_queue variable. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230207192319.294203-6-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 2 +- drivers/staging/r8188eu/include/rtw_xmit.h | 2 +- .../staging/r8188eu/os_dep/usb_ops_linux.c | 25 ++----------------- 3 files changed, 4 insertions(+), 25 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 6ec342b726f9..df88b3e29e77 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -148,7 +148,7 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) goto free_xmitbuf; } - pxmitbuf->flags = XMIT_VO_QUEUE; + pxmitbuf->high_queue = false; list_add_tail(&pxmitbuf->list, &pxmitpriv->free_xmitbuf_queue.queue); pxmitbuf++; diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index 9a001fbf45a0..feeac85aedb0 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -189,7 +189,7 @@ struct xmit_buf { u8 *pbuf; void *priv_data; u16 ext_tag; /* 0: Normal xmitbuf, 1: extension xmitbuf. */ - u16 flags; + bool high_queue; u32 alloc_sz; u32 len; struct submit_ctx *sctx; diff --git a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c index 48c96f731ce1..ca09f7ed7e4d 100644 --- a/drivers/staging/r8188eu/os_dep/usb_ops_linux.c +++ b/drivers/staging/r8188eu/os_dep/usb_ops_linux.c @@ -39,7 +39,7 @@ static void usb_write_port_complete(struct urb *purb) struct adapter *padapter = pxmitbuf->padapter; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - if (pxmitbuf->flags == HIGH_QUEUE_INX) + if (pxmitbuf->high_queue) rtw_chk_hi_queue_cmd(padapter); switch (purb->status) { @@ -83,28 +83,7 @@ u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem) } spin_lock_irqsave(&pxmitpriv->lock, irqL); - - switch (addr) { - case VO_QUEUE_INX: - pxmitbuf->flags = VO_QUEUE_INX; - break; - case VI_QUEUE_INX: - pxmitbuf->flags = VI_QUEUE_INX; - break; - case BE_QUEUE_INX: - pxmitbuf->flags = BE_QUEUE_INX; - break; - case BK_QUEUE_INX: - pxmitbuf->flags = BK_QUEUE_INX; - break; - case HIGH_QUEUE_INX: - pxmitbuf->flags = HIGH_QUEUE_INX; - break; - default: - pxmitbuf->flags = MGT_QUEUE_INX; - break; - } - + pxmitbuf->high_queue = (addr == HIGH_QUEUE_INX); spin_unlock_irqrestore(&pxmitpriv->lock, irqL); purb = pxmitbuf->pxmit_urb; From fd48124e09825797bdc8ff0120f2401030c618ee Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 7 Feb 2023 20:23:18 +0100 Subject: [PATCH 204/219] staging: r8188eu: simplify rtw_get_ff_hwaddr On both occassions where rtw_get_ff_hwaddr is called, the result is used as addr parameter for rtw_write_port. rtw_write_port only needs the info if the high queue was used or not. Simplify rtw_get_ff_hwaddr accordingly and remove the now unused queue defines. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230207192319.294203-7-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 32 +--------------------- drivers/staging/r8188eu/include/rtw_xmit.h | 7 ----- 2 files changed, 1 insertion(+), 38 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index df88b3e29e77..d0761ac2e695 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1568,39 +1568,9 @@ static int rtw_br_client_tx(struct adapter *padapter, struct sk_buff **pskb) u32 rtw_get_ff_hwaddr(struct xmit_frame *pxmitframe) { - u32 addr; struct pkt_attrib *pattrib = &pxmitframe->attrib; - switch (pattrib->qsel) { - case 0: - case 3: - addr = BE_QUEUE_INX; - break; - case 1: - case 2: - addr = BK_QUEUE_INX; - break; - case 4: - case 5: - addr = VI_QUEUE_INX; - break; - case 6: - case 7: - addr = VO_QUEUE_INX; - break; - case 0x10: - addr = BCN_QUEUE_INX; - break; - case 0x11:/* BC/MC in PS (HIQ) */ - addr = HIGH_QUEUE_INX; - break; - case 0x12: - default: - addr = MGT_QUEUE_INX; - break; - } - - return addr; + return pattrib->qsel == 0x11 ? HIGH_QUEUE_INX : 0; } /* diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index feeac85aedb0..e4e5af198eee 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -26,14 +26,7 @@ #define XMIT_BE_QUEUE (2) #define XMIT_BK_QUEUE (3) -#define VO_QUEUE_INX 0 -#define VI_QUEUE_INX 1 -#define BE_QUEUE_INX 2 -#define BK_QUEUE_INX 3 -#define BCN_QUEUE_INX 4 -#define MGT_QUEUE_INX 5 #define HIGH_QUEUE_INX 6 -#define TXCMD_QUEUE_INX 7 #define HW_QUEUE_ENTRY 8 From 7652f95f52c06fbd3b243fe3f8d14e95c23212c3 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Tue, 7 Feb 2023 20:23:19 +0100 Subject: [PATCH 205/219] staging: r8188eu: bagg_pkt parameter is not used The bagg_pkt parameter in function update_txdesc is not used, it can be removed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230207192319.294203-8-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c index 5aa33fc4041d..3ffab4953a5c 100644 --- a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c +++ b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c @@ -137,7 +137,7 @@ static void fill_txdesc_phy(struct pkt_attrib *pattrib, __le32 *pdw) } } -static s32 update_txdesc(struct xmit_frame *pxmitframe, u8 *pmem, s32 sz, u8 bagg_pkt) +static s32 update_txdesc(struct xmit_frame *pxmitframe, u8 *pmem, s32 sz) { uint qsel; u8 data_rate, pwr_status, offset; @@ -319,7 +319,7 @@ static s32 rtw_dump_xframe(struct adapter *adapt, struct xmit_frame *pxmitframe) sz = pattrib->last_txcmdsz; } - pull = update_txdesc(pxmitframe, mem_addr, sz, false); + pull = update_txdesc(pxmitframe, mem_addr, sz); if (pull) { mem_addr += PACKET_OFFSET_SZ; /* pull txdesc head */ @@ -489,7 +489,7 @@ bool rtl8188eu_xmitframe_complete(struct adapter *adapt) rtw_xmit_complete(adapt, pxmitframe); /* (len - TXDESC_SIZE) == pxmitframe->attrib.last_txcmdsz */ - update_txdesc(pxmitframe, pxmitframe->buf_addr, pxmitframe->attrib.last_txcmdsz, true); + update_txdesc(pxmitframe, pxmitframe->buf_addr, pxmitframe->attrib.last_txcmdsz); /* don't need xmitframe any more */ rtw_free_xmitframe(pxmitpriv, pxmitframe); @@ -529,7 +529,7 @@ bool rtl8188eu_xmitframe_complete(struct adapter *adapt) pfirstframe->pkt_offset--; } - update_txdesc(pfirstframe, pfirstframe->buf_addr, pfirstframe->attrib.last_txcmdsz, true); + update_txdesc(pfirstframe, pfirstframe->buf_addr, pfirstframe->attrib.last_txcmdsz); /* 3 4. write xmit buffer to USB FIFO */ ff_hwaddr = rtw_get_ff_hwaddr(pfirstframe); From ec0eb562a7305073b954d8c8e91f453308351cfa Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Tue, 7 Feb 2023 19:16:15 +0100 Subject: [PATCH 206/219] staging: rtl8192e: Rename AcmHw_ViqEn, AcmHw_VoqEn and ANAPAR_FOR_8192PciE Rename constants AcmHw_ViqEn to ACM_HW_VIQ_EN and AcmHw_VoqEn to ACM_HW_VOQ_EN and ANAPAR_FOR_8192PciE to ANAPAR_FOR_8192PCIE to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/ecdb350dcd9b1860496c1835980d34c5bca0d39e.1675792435.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 6 +++--- drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h | 6 +++--- drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index dc6e694840af..cb455969f5dc 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -225,11 +225,11 @@ void rtl92e_set_reg(struct net_device *dev, u8 variable, u8 *val) break; case AC2_VI: - AcmCtrl |= AcmHw_ViqEn; + AcmCtrl |= ACM_HW_VIQ_EN; break; case AC3_VO: - AcmCtrl |= AcmHw_VoqEn; + AcmCtrl |= ACM_HW_VOQ_EN; break; } } else { @@ -239,7 +239,7 @@ void rtl92e_set_reg(struct net_device *dev, u8 variable, u8 *val) break; case AC2_VI: - AcmCtrl &= (~AcmHw_ViqEn); + AcmCtrl &= (~ACM_HW_VIQ_EN); break; case AC3_VO: diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h index c3b573090d39..1546bb575293 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h @@ -144,8 +144,8 @@ enum _RTL8192PCI_HW { #define CPU_GEN_NO_LOOPBACK_SET 0x00080000 ACM_HW_CTRL = 0x171, #define ACM_HW_BEQ_EN BIT1 -#define AcmHw_ViqEn BIT2 -#define AcmHw_VoqEn BIT3 +#define ACM_HW_VIQ_EN BIT2 +#define ACM_HW_VOQ_EN BIT3 RQPN1 = 0x180, RQPN2 = 0x184, RQPN3 = 0x188, @@ -250,6 +250,6 @@ enum _RTL8192PCI_HW { #define GPI 0x108 -#define ANAPAR_FOR_8192PciE 0x17 +#define ANAPAR_FOR_8192PCIE 0x17 #endif diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c index cbda027656dc..c6cbdea6d5b2 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c @@ -1273,7 +1273,7 @@ void rtl92e_set_rf_off(struct net_device *dev) rtl92e_set_bb_reg(dev, rOFDM1_TRxPathEnable, 0xf, 0x0); rtl92e_set_bb_reg(dev, rFPGA0_AnalogParameter1, 0x60, 0x0); rtl92e_set_bb_reg(dev, rFPGA0_AnalogParameter1, 0x4, 0x0); - rtl92e_writeb(dev, ANAPAR_FOR_8192PciE, 0x07); + rtl92e_writeb(dev, ANAPAR_FOR_8192PCIE, 0x07); } From 766e9d4ae73fd6ad75ca19dd1abac97f5c49ebae Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Tue, 7 Feb 2023 19:16:29 +0100 Subject: [PATCH 207/219] staging: rtl8192e: Remove blank lines in r8192E_hw.h, rtl_core.h and .. Remove or add blank lines in r8192E_hw.h, rtl_core.h and rtl_dm.h so that code fits to kernel coding style as shown by checkpatch. Remove one line break after "}" to fit to kernel coding style. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/9d7d54c5a2cdba6162e38e8d77faca5e5f39bdea.1675792435.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h | 5 +---- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 3 --- drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 8 +------- 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h index 1546bb575293..2b49820510da 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h @@ -239,14 +239,11 @@ enum _RTL8192PCI_HW { RATR_MCS11 | RATR_MCS12 | RATR_MCS13 | \ RATR_MCS14|RATR_MCS15) - DRIVER_RSSI = 0x32c, MCS_TXAGC = 0x340, CCK_TXAGC = 0x348, MacBlkCtrl = 0x403, - -} -; +}; #define GPI 0x108 diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 17fc69c839d3..fd96eef90c7f 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -203,8 +203,6 @@ struct rtl8192_tx_ring { struct sk_buff_head queue; }; - - struct rtl819x_ops { enum nic_t nic_type; void (*get_eeprom_size)(struct net_device *dev); @@ -264,7 +262,6 @@ struct r8192_priv { enum rt_customer_id customer_id; - enum rt_rf_type_819xu rf_chip; enum ht_channel_width current_chnl_bw; struct bb_reg_definition phy_reg_def[4]; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h index 7339ce1e40db..a0c4006c7726 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h @@ -7,7 +7,6 @@ #ifndef __R8192UDM_H__ #define __R8192UDM_H__ - /*--------------------------Define Parameters-------------------------------*/ #define OFDM_Table_Length 19 #define CCK_Table_length 12 @@ -49,7 +48,6 @@ /*--------------------------Define Parameters-------------------------------*/ - /*------------------------------Define structure----------------------------*/ struct dig_t { u8 dig_enable_flag; @@ -88,7 +86,6 @@ enum dm_dig_sta { DM_STA_DIG_MAX }; - enum dm_ratr_sta { DM_RATR_STA_HIGH = 0, DM_RATR_STA_MIDDLE = 1, @@ -148,14 +145,13 @@ enum dm_cck_rx_path_method { CCK_Rx_Version_MAX }; - struct dcmd_txcmd { u32 op; u32 length; u32 value; }; -/*------------------------------Define structure----------------------------*/ +/*------------------------------Define structure----------------------------*/ /*------------------------Export global variable----------------------------*/ extern struct dig_t dm_digtable; @@ -170,7 +166,6 @@ extern const u8 dm_cck_tx_bb_gain_ch14[CCK_TX_BB_GAIN_TABLE_LEN][8]; /*------------------------Export global variable----------------------------*/ - /*--------------------------Exported Function prototype---------------------*/ /*--------------------------Exported Function prototype---------------------*/ @@ -179,7 +174,6 @@ void rtl92e_dm_deinit(struct net_device *dev); void rtl92e_dm_watchdog(struct net_device *dev); - void rtl92e_init_adaptive_rate(struct net_device *dev); void rtl92e_dm_txpower_tracking_wq(void *data); From 0e8696f0e93ceb6d6804352ab04080062cb6209a Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Tue, 7 Feb 2023 19:16:39 +0100 Subject: [PATCH 208/219] staging: rtl8192e: Rename MacBlkCtrl and remove double definition Rename constant MacBlkCtrl to MAC_BLK_CTRL to avoid CamelCase which is not accepted by checkpatch. Remove double definition. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/8c0c46860fdb71660183fce567f7bc80e1d1ad36.1675792435.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 2 +- drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h | 2 +- drivers/staging/rtl8192e/rtl8192e/r8192E_phyreg.h | 2 -- drivers/staging/rtl8192e/rtl8192e/rtl_pm.c | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index cb455969f5dc..a2587300a47a 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1861,7 +1861,7 @@ void rtl92e_stop_adapter(struct net_device *dev, bool reset) rtl92e_writeb(dev, PMR, 0x5); - rtl92e_writeb(dev, MacBlkCtrl, 0xa); + rtl92e_writeb(dev, MAC_BLK_CTRL, 0xa); } } diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h index 2b49820510da..8b8a870fcbbd 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h @@ -242,7 +242,7 @@ enum _RTL8192PCI_HW { DRIVER_RSSI = 0x32c, MCS_TXAGC = 0x340, CCK_TXAGC = 0x348, - MacBlkCtrl = 0x403, + MAC_BLK_CTRL = 0x403, }; #define GPI 0x108 diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phyreg.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_phyreg.h index 433272a2aae8..f846f109ed98 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phyreg.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phyreg.h @@ -42,8 +42,6 @@ #define CCK_TXAGC 0x348 /* Mac block on/off control register */ -#define MacBlkCtrl 0x403 - #define rFPGA0_RFMOD 0x800 /* RF mode & CCK TxSC */ #define rFPGA0_TxInfo 0x804 #define rFPGA0_PSDFunction 0x808 diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_pm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_pm.c index 82b45c61ac75..9c80dc1b6e12 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_pm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_pm.c @@ -41,7 +41,7 @@ int rtl92e_suspend(struct device *dev_d) rtl92e_writel(dev, WFCRC1, 0xffffffff); rtl92e_writel(dev, WFCRC2, 0xffffffff); rtl92e_writeb(dev, PMR, 0x5); - rtl92e_writeb(dev, MacBlkCtrl, 0xa); + rtl92e_writeb(dev, MAC_BLK_CTRL, 0xa); } out_pci_suspend: netdev_info(dev, "WOL is %s\n", priv->rtllib->bSupportRemoteWakeUp ? From 410a384532238ef13363756948fa7d9bbcbdee25 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Tue, 7 Feb 2023 19:16:47 +0100 Subject: [PATCH 209/219] staging: rtl8192e: Rename OFDM_Table.., CCK_Table_.. and RxPathSelecti.. Rename constants OFDM_Table_Length to OFDM_TABLE_LEN, CCK_Table_length to CCK_TABLE_LEN and RxPathSelection_SS_TH_low to RX_PATH_SEL_SS_TH_LOW to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/197e98073922ec14d56e4a516c493188c88e11c1.1675792435.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 24 +++++++++++----------- drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 6 +++--- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 5d77baf7df64..40e6194c6687 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -455,7 +455,7 @@ static void _rtl92e_dm_bandwidth_autoswitch(struct net_device *dev) } } -static u32 OFDMSwingTable[OFDM_Table_Length] = { +static u32 OFDMSwingTable[OFDM_TABLE_LEN] = { 0x7f8001fe, 0x71c001c7, 0x65400195, @@ -477,7 +477,7 @@ static u32 OFDMSwingTable[OFDM_Table_Length] = { 0x10000040 }; -static u8 CCKSwingTable_Ch1_Ch13[CCK_Table_length][8] = { +static u8 CCKSwingTable_Ch1_Ch13[CCK_TABLE_LEN][8] = { {0x36, 0x35, 0x2e, 0x25, 0x1c, 0x12, 0x09, 0x04}, {0x30, 0x2f, 0x29, 0x21, 0x19, 0x10, 0x08, 0x03}, {0x2b, 0x2a, 0x25, 0x1e, 0x16, 0x0e, 0x07, 0x03}, @@ -492,7 +492,7 @@ static u8 CCKSwingTable_Ch1_Ch13[CCK_Table_length][8] = { {0x0f, 0x0f, 0x0d, 0x0b, 0x08, 0x05, 0x03, 0x01} }; -static u8 CCKSwingTable_Ch14[CCK_Table_length][8] = { +static u8 CCKSwingTable_Ch14[CCK_TABLE_LEN][8] = { {0x36, 0x35, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00}, {0x30, 0x2f, 0x29, 0x18, 0x00, 0x00, 0x00, 0x00}, {0x2b, 0x2a, 0x25, 0x15, 0x00, 0x00, 0x00, 0x00}, @@ -771,13 +771,13 @@ static void _rtl92e_dm_tx_power_tracking_cb_thermal(struct net_device *dev) if (!priv->tx_pwr_tracking_init) { tmpRegA = rtl92e_get_bb_reg(dev, rOFDM0_XATxIQImbalance, bMaskDWord); - for (i = 0; i < OFDM_Table_Length; i++) { + for (i = 0; i < OFDM_TABLE_LEN; i++) { if (tmpRegA == OFDMSwingTable[i]) priv->ofdm_index[0] = i; } TempCCk = rtl92e_get_bb_reg(dev, rCCK0_TxFilter1, bMaskByte2); - for (i = 0; i < CCK_Table_length; i++) { + for (i = 0; i < CCK_TABLE_LEN; i++) { if (TempCCk == (u32)CCKSwingTable_Ch1_Ch13[i][0]) { priv->cck_index = i; break; @@ -799,12 +799,12 @@ static void _rtl92e_dm_tx_power_tracking_cb_thermal(struct net_device *dev) tmpOFDMindex = tmpCCK20Mindex = 6+(priv->thermal_meter[0] - (u8)tmpRegA); tmpCCK40Mindex = tmpCCK20Mindex - 6; - if (tmpOFDMindex >= OFDM_Table_Length) - tmpOFDMindex = OFDM_Table_Length-1; - if (tmpCCK20Mindex >= CCK_Table_length) - tmpCCK20Mindex = CCK_Table_length-1; - if (tmpCCK40Mindex >= CCK_Table_length) - tmpCCK40Mindex = CCK_Table_length-1; + if (tmpOFDMindex >= OFDM_TABLE_LEN) + tmpOFDMindex = OFDM_TABLE_LEN - 1; + if (tmpCCK20Mindex >= CCK_TABLE_LEN) + tmpCCK20Mindex = CCK_TABLE_LEN - 1; + if (tmpCCK40Mindex >= CCK_TABLE_LEN) + tmpCCK40Mindex = CCK_TABLE_LEN - 1; } else { tmpval = (u8)tmpRegA - priv->thermal_meter[0]; if (tmpval >= 6) { @@ -1732,7 +1732,7 @@ static void _rtl92e_dm_init_rx_path_selection(struct net_device *dev) struct r8192_priv *priv = rtllib_priv(dev); DM_RxPathSelTable.Enable = 1; - DM_RxPathSelTable.SS_TH_low = RxPathSelection_SS_TH_low; + DM_RxPathSelTable.SS_TH_low = RX_PATH_SEL_SS_TH_LOW; DM_RxPathSelTable.diff_TH = RxPathSelection_diff_TH; if (priv->customer_id == RT_CID_819X_NETCORE) DM_RxPathSelTable.cck_method = CCK_Rx_Version_2; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h index a0c4006c7726..c41490850713 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h @@ -8,8 +8,8 @@ #define __R8192UDM_H__ /*--------------------------Define Parameters-------------------------------*/ -#define OFDM_Table_Length 19 -#define CCK_Table_length 12 +#define OFDM_TABLE_LEN 19 +#define CCK_TABLE_LEN 12 #define DM_DIG_THRESH_HIGH 40 #define DM_DIG_THRESH_LOW 35 @@ -25,7 +25,7 @@ #define DM_DIG_MIN 0x1c #define DM_DIG_MIN_Netcore 0x12 -#define RxPathSelection_SS_TH_low 30 +#define RX_PATH_SEL_SS_TH_LOW 30 #define RxPathSelection_diff_TH 18 #define RateAdaptiveTH_High 50 From 1af6ddaba5421a2375acb87778f76e6329447a2c Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Tue, 7 Feb 2023 19:16:53 +0100 Subject: [PATCH 210/219] staging: rtl8192e: Rename RxPathSelectio.., RateAdaptive.. and RateAdap.. Rename constants RxPathSelection_diff_TH to RX_PATH_SEL_DIFF_TH, RateAdaptiveTH_High to RATE_ADAPTIVE_TH_HIGH and RateAdaptiveTH_Low_20M to RATE_ADAPTIVE_TH_LOW_20M to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/3fb44a7f8020b898d3f589f16e9be4f555aa9e1e.1675792435.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 8 ++++---- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 10 +++++----- drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index a2587300a47a..7e445a168daa 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -2017,20 +2017,20 @@ bool rtl92e_is_rx_stuck(struct net_device *dev) u8 SilentResetRxSoltNum = 4; rx_chk_cnt++; - if (priv->undecorated_smoothed_pwdb >= (RateAdaptiveTH_High+5)) { + if (priv->undecorated_smoothed_pwdb >= (RATE_ADAPTIVE_TH_HIGH + 5)) { rx_chk_cnt = 0; - } else if ((priv->undecorated_smoothed_pwdb < (RateAdaptiveTH_High + 5)) + } else if ((priv->undecorated_smoothed_pwdb < (RATE_ADAPTIVE_TH_HIGH + 5)) && (((priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) && (priv->undecorated_smoothed_pwdb >= RateAdaptiveTH_Low_40M)) || ((priv->current_chnl_bw == HT_CHANNEL_WIDTH_20) && - (priv->undecorated_smoothed_pwdb >= RateAdaptiveTH_Low_20M)))) { + (priv->undecorated_smoothed_pwdb >= RATE_ADAPTIVE_TH_LOW_20M)))) { if (rx_chk_cnt < 2) return bStuck; rx_chk_cnt = 0; } else if ((((priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) && (priv->undecorated_smoothed_pwdb < RateAdaptiveTH_Low_40M)) || ((priv->current_chnl_bw == HT_CHANNEL_WIDTH_20) && - (priv->undecorated_smoothed_pwdb < RateAdaptiveTH_Low_20M))) && + (priv->undecorated_smoothed_pwdb < RATE_ADAPTIVE_TH_LOW_20M))) && priv->undecorated_smoothed_pwdb >= VeryLowRSSI) { if (rx_chk_cnt < 4) return bStuck; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 40e6194c6687..739f7c512831 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -282,12 +282,12 @@ void rtl92e_init_adaptive_rate(struct net_device *dev) struct rate_adaptive *pra = &priv->rate_adaptive; pra->ratr_state = DM_RATR_STA_MAX; - pra->high2low_rssi_thresh_for_ra = RateAdaptiveTH_High; - pra->low2high_rssi_thresh_for_ra20M = RateAdaptiveTH_Low_20M+5; + pra->high2low_rssi_thresh_for_ra = RATE_ADAPTIVE_TH_HIGH; + pra->low2high_rssi_thresh_for_ra20M = RATE_ADAPTIVE_TH_LOW_20M + 5; pra->low2high_rssi_thresh_for_ra40M = RateAdaptiveTH_Low_40M+5; - pra->high_rssi_thresh_for_ra = RateAdaptiveTH_High+5; - pra->low_rssi_thresh_for_ra20M = RateAdaptiveTH_Low_20M; + pra->high_rssi_thresh_for_ra = RATE_ADAPTIVE_TH_HIGH + 5; + pra->low_rssi_thresh_for_ra20M = RATE_ADAPTIVE_TH_LOW_20M; pra->low_rssi_thresh_for_ra40M = RateAdaptiveTH_Low_40M; if (priv->customer_id == RT_CID_819X_NETCORE) @@ -1733,7 +1733,7 @@ static void _rtl92e_dm_init_rx_path_selection(struct net_device *dev) DM_RxPathSelTable.Enable = 1; DM_RxPathSelTable.SS_TH_low = RX_PATH_SEL_SS_TH_LOW; - DM_RxPathSelTable.diff_TH = RxPathSelection_diff_TH; + DM_RxPathSelTable.diff_TH = RX_PATH_SEL_DIFF_TH; if (priv->customer_id == RT_CID_819X_NETCORE) DM_RxPathSelTable.cck_method = CCK_Rx_Version_2; else diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h index c41490850713..ea698e894146 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h @@ -26,10 +26,10 @@ #define DM_DIG_MIN_Netcore 0x12 #define RX_PATH_SEL_SS_TH_LOW 30 -#define RxPathSelection_diff_TH 18 +#define RX_PATH_SEL_DIFF_TH 18 -#define RateAdaptiveTH_High 50 -#define RateAdaptiveTH_Low_20M 30 +#define RATE_ADAPTIVE_TH_HIGH 50 +#define RATE_ADAPTIVE_TH_LOW_20M 30 #define RateAdaptiveTH_Low_40M 10 #define VeryLowRSSI 15 From 2c3a5d3ed344d5c6de7f90e140be92ed851a9c95 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Tue, 7 Feb 2023 19:17:00 +0100 Subject: [PATCH 211/219] staging: rtl8192e: Rename RateAdaptiveTH.., VeryLowRSSI and WAIotTHVal Rename constants RateAdaptiveTH_Low_40M to RATE_ADAPTIVE_TH_LOW_40M, VeryLowRSSI to VERY_LOW_RSSI and WAIotTHVal to WA_IOT_TH_VAL to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/ebca576cae161442e51cd5b73930dc53f8ae26ba.1675792435.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 6 +++--- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 6 +++--- drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 7e445a168daa..0b5b2ae27f9e 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -2021,17 +2021,17 @@ bool rtl92e_is_rx_stuck(struct net_device *dev) rx_chk_cnt = 0; } else if ((priv->undecorated_smoothed_pwdb < (RATE_ADAPTIVE_TH_HIGH + 5)) && (((priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) && - (priv->undecorated_smoothed_pwdb >= RateAdaptiveTH_Low_40M)) + (priv->undecorated_smoothed_pwdb >= RATE_ADAPTIVE_TH_LOW_40M)) || ((priv->current_chnl_bw == HT_CHANNEL_WIDTH_20) && (priv->undecorated_smoothed_pwdb >= RATE_ADAPTIVE_TH_LOW_20M)))) { if (rx_chk_cnt < 2) return bStuck; rx_chk_cnt = 0; } else if ((((priv->current_chnl_bw != HT_CHANNEL_WIDTH_20) && - (priv->undecorated_smoothed_pwdb < RateAdaptiveTH_Low_40M)) || + (priv->undecorated_smoothed_pwdb < RATE_ADAPTIVE_TH_LOW_40M)) || ((priv->current_chnl_bw == HT_CHANNEL_WIDTH_20) && (priv->undecorated_smoothed_pwdb < RATE_ADAPTIVE_TH_LOW_20M))) && - priv->undecorated_smoothed_pwdb >= VeryLowRSSI) { + priv->undecorated_smoothed_pwdb >= VERY_LOW_RSSI) { if (rx_chk_cnt < 4) return bStuck; rx_chk_cnt = 0; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 739f7c512831..55e03eaf9219 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -284,11 +284,11 @@ void rtl92e_init_adaptive_rate(struct net_device *dev) pra->ratr_state = DM_RATR_STA_MAX; pra->high2low_rssi_thresh_for_ra = RATE_ADAPTIVE_TH_HIGH; pra->low2high_rssi_thresh_for_ra20M = RATE_ADAPTIVE_TH_LOW_20M + 5; - pra->low2high_rssi_thresh_for_ra40M = RateAdaptiveTH_Low_40M+5; + pra->low2high_rssi_thresh_for_ra40M = RATE_ADAPTIVE_TH_LOW_40M + 5; pra->high_rssi_thresh_for_ra = RATE_ADAPTIVE_TH_HIGH + 5; pra->low_rssi_thresh_for_ra20M = RATE_ADAPTIVE_TH_LOW_20M; - pra->low_rssi_thresh_for_ra40M = RateAdaptiveTH_Low_40M; + pra->low_rssi_thresh_for_ra40M = RATE_ADAPTIVE_TH_LOW_40M; if (priv->customer_id == RT_CID_819X_NETCORE) pra->ping_rssi_enable = 1; @@ -1649,7 +1649,7 @@ static void _rtl92e_dm_init_wa_broadcom_iot(struct net_device *dev) struct rt_hi_throughput *ht_info = priv->rtllib->ht_info; ht_info->bWAIotBroadcom = false; - ht_info->WAIotTH = WAIotTHVal; + ht_info->WAIotTH = WA_IOT_TH_VAL; } static void _rtl92e_dm_check_rf_ctrl_gpio(void *data) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h index ea698e894146..86974abea19c 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h @@ -30,10 +30,10 @@ #define RATE_ADAPTIVE_TH_HIGH 50 #define RATE_ADAPTIVE_TH_LOW_20M 30 -#define RateAdaptiveTH_Low_40M 10 -#define VeryLowRSSI 15 +#define RATE_ADAPTIVE_TH_LOW_40M 10 +#define VERY_LOW_RSSI 15 -#define WAIotTHVal 25 +#define WA_IOT_TH_VAL 25 #define E_FOR_TX_POWER_TRACK 300 #define TX_POWER_NEAR_FIELD_THRESH_HIGH 68 From a89fbd4b9c890a384b2cb0881fd26bcc5174f13e Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Tue, 7 Feb 2023 19:17:07 +0100 Subject: [PATCH 212/219] staging: rtl8192e: Rename Enable, cck_Rx_path and SS_TH_low Rename variables Enable to enable, cck_Rx_path to cck_rx_path and SS_TH_low to ss_th_low to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/740487e2fd8b98bfcaa8af2e398b9aa7e320fef8.1675792435.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 14 +++++++------- drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 55e03eaf9219..5e9a0e9653de 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -1720,7 +1720,7 @@ void rtl92e_dm_rf_pathcheck_wq(void *data) else priv->brfpath_rxenable[i] = false; } - if (!DM_RxPathSelTable.Enable) + if (!DM_RxPathSelTable.enable) return; _rtl92e_dm_rx_path_sel_byrssi(dev); @@ -1731,8 +1731,8 @@ static void _rtl92e_dm_init_rx_path_selection(struct net_device *dev) u8 i; struct r8192_priv *priv = rtllib_priv(dev); - DM_RxPathSelTable.Enable = 1; - DM_RxPathSelTable.SS_TH_low = RX_PATH_SEL_SS_TH_LOW; + DM_RxPathSelTable.enable = 1; + DM_RxPathSelTable.ss_th_low = RX_PATH_SEL_SS_TH_LOW; DM_RxPathSelTable.diff_TH = RX_PATH_SEL_DIFF_TH; if (priv->customer_id == RT_CID_819X_NETCORE) DM_RxPathSelTable.cck_method = CCK_Rx_Version_2; @@ -1769,7 +1769,7 @@ static void _rtl92e_dm_rx_path_sel_byrssi(struct net_device *dev) return; if (!cck_Rx_Path_initialized) { - DM_RxPathSelTable.cck_Rx_path = (rtl92e_readb(dev, 0xa07)&0xf); + DM_RxPathSelTable.cck_rx_path = (rtl92e_readb(dev, 0xa07)&0xf); cck_Rx_Path_initialized = 1; } @@ -1901,7 +1901,7 @@ static void _rtl92e_dm_rx_path_sel_byrssi(struct net_device *dev) update_cck_rx_path = 1; } - if (tmp_min_rssi < DM_RxPathSelTable.SS_TH_low && disabled_rf_cnt < 2) { + if (tmp_min_rssi < DM_RxPathSelTable.ss_th_low && disabled_rf_cnt < 2) { if ((tmp_max_rssi - tmp_min_rssi) >= DM_RxPathSelTable.diff_TH) { DM_RxPathSelTable.rf_enable_rssi_th[min_rssi_index] = @@ -1921,10 +1921,10 @@ static void _rtl92e_dm_rx_path_sel_byrssi(struct net_device *dev) } if (update_cck_rx_path) { - DM_RxPathSelTable.cck_Rx_path = (cck_default_Rx<<2) | + DM_RxPathSelTable.cck_rx_path = (cck_default_Rx<<2) | (cck_optional_Rx); rtl92e_set_bb_reg(dev, rCCK0_AFESetting, 0x0f000000, - DM_RxPathSelTable.cck_Rx_path); + DM_RxPathSelTable.cck_rx_path); } if (DM_RxPathSelTable.disabledRF) { diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h index 86974abea19c..a9fa984c25ac 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h @@ -125,11 +125,11 @@ enum dm_dig_cs_ratio { }; struct drx_path_sel { - u8 Enable; + u8 enable; u8 cck_method; - u8 cck_Rx_path; + u8 cck_rx_path; - u8 SS_TH_low; + u8 ss_th_low; u8 diff_TH; u8 disabledRF; u8 reserved; From 44414e625c35a307707e7963fa608bc02ce5d2fc Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Tue, 7 Feb 2023 19:17:15 +0100 Subject: [PATCH 213/219] staging: rtl8192e: Rename diff_TH and disabledRF Rename variables diff_TH to diff_th and disabledRF to disabled_rf to avoid CamelCase which is not accepted by checkpatch. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/2b95586ed460f90c98721a429aced1ffaf258e49.1675792435.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 14 +++++++------- drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 5e9a0e9653de..911cfecd50cb 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -1733,12 +1733,12 @@ static void _rtl92e_dm_init_rx_path_selection(struct net_device *dev) DM_RxPathSelTable.enable = 1; DM_RxPathSelTable.ss_th_low = RX_PATH_SEL_SS_TH_LOW; - DM_RxPathSelTable.diff_TH = RX_PATH_SEL_DIFF_TH; + DM_RxPathSelTable.diff_th = RX_PATH_SEL_DIFF_TH; if (priv->customer_id == RT_CID_819X_NETCORE) DM_RxPathSelTable.cck_method = CCK_Rx_Version_2; else DM_RxPathSelTable.cck_method = CCK_Rx_Version_1; - DM_RxPathSelTable.disabledRF = 0; + DM_RxPathSelTable.disabled_rf = 0; for (i = 0; i < 4; i++) { DM_RxPathSelTable.rf_rssi[i] = 50; DM_RxPathSelTable.cck_pwdb_sta[i] = -64; @@ -1773,8 +1773,8 @@ static void _rtl92e_dm_rx_path_sel_byrssi(struct net_device *dev) cck_Rx_Path_initialized = 1; } - DM_RxPathSelTable.disabledRF = 0xf; - DM_RxPathSelTable.disabledRF &= ~(rtl92e_readb(dev, 0xc04)); + DM_RxPathSelTable.disabled_rf = 0xf; + DM_RxPathSelTable.disabled_rf &= ~(rtl92e_readb(dev, 0xc04)); if (priv->rtllib->mode == WIRELESS_MODE_B) DM_RxPathSelTable.cck_method = CCK_Rx_Version_2; @@ -1903,7 +1903,7 @@ static void _rtl92e_dm_rx_path_sel_byrssi(struct net_device *dev) if (tmp_min_rssi < DM_RxPathSelTable.ss_th_low && disabled_rf_cnt < 2) { if ((tmp_max_rssi - tmp_min_rssi) >= - DM_RxPathSelTable.diff_TH) { + DM_RxPathSelTable.diff_th) { DM_RxPathSelTable.rf_enable_rssi_th[min_rssi_index] = tmp_max_rssi+5; rtl92e_set_bb_reg(dev, rOFDM0_TRxPathEnable, @@ -1927,9 +1927,9 @@ static void _rtl92e_dm_rx_path_sel_byrssi(struct net_device *dev) DM_RxPathSelTable.cck_rx_path); } - if (DM_RxPathSelTable.disabledRF) { + if (DM_RxPathSelTable.disabled_rf) { for (i = 0; i < 4; i++) { - if ((DM_RxPathSelTable.disabledRF>>i) & 0x1) { + if ((DM_RxPathSelTable.disabled_rf >> i) & 0x1) { if (tmp_max_rssi >= DM_RxPathSelTable.rf_enable_rssi_th[i]) { rtl92e_set_bb_reg(dev, diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h index a9fa984c25ac..1c2eb7ac52ce 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h @@ -130,8 +130,8 @@ struct drx_path_sel { u8 cck_rx_path; u8 ss_th_low; - u8 diff_TH; - u8 disabledRF; + u8 diff_th; + u8 disabled_rf; u8 reserved; u8 rf_rssi[4]; From 5cd73e7c60a9cab27b2eb3270b7fd4a79dafee25 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Tue, 7 Feb 2023 19:17:22 +0100 Subject: [PATCH 214/219] staging: rtl8192e: Rename DM_RxPathSelTable Rename variable DM_RxPathSelTable to dm_rx_path_sel_table to avoid CamelCase which is not accepted by checkpatch. Remove "extern struct drx_path_sel DM_RxPathSelTable;" in rtl_dm.h as it is dead code. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/8846ad13a4ee4b534d2410c9bca0c2943500c858.1675792435.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 60 +++++++++++----------- drivers/staging/rtl8192e/rtl8192e/rtl_dm.h | 1 - 2 files changed, 30 insertions(+), 31 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c index 911cfecd50cb..d8455b23e555 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.c @@ -144,7 +144,7 @@ const u8 dm_cck_tx_bb_gain_ch14[CCK_TX_BB_GAIN_TABLE_LEN][8] = { /*------------------------Define global variable-----------------------------*/ struct dig_t dm_digtable; -struct drx_path_sel DM_RxPathSelTable; +struct drx_path_sel dm_rx_path_sel_table; /*------------------------Define global variable-----------------------------*/ @@ -1720,7 +1720,7 @@ void rtl92e_dm_rf_pathcheck_wq(void *data) else priv->brfpath_rxenable[i] = false; } - if (!DM_RxPathSelTable.enable) + if (!dm_rx_path_sel_table.enable) return; _rtl92e_dm_rx_path_sel_byrssi(dev); @@ -1731,18 +1731,18 @@ static void _rtl92e_dm_init_rx_path_selection(struct net_device *dev) u8 i; struct r8192_priv *priv = rtllib_priv(dev); - DM_RxPathSelTable.enable = 1; - DM_RxPathSelTable.ss_th_low = RX_PATH_SEL_SS_TH_LOW; - DM_RxPathSelTable.diff_th = RX_PATH_SEL_DIFF_TH; + dm_rx_path_sel_table.enable = 1; + dm_rx_path_sel_table.ss_th_low = RX_PATH_SEL_SS_TH_LOW; + dm_rx_path_sel_table.diff_th = RX_PATH_SEL_DIFF_TH; if (priv->customer_id == RT_CID_819X_NETCORE) - DM_RxPathSelTable.cck_method = CCK_Rx_Version_2; + dm_rx_path_sel_table.cck_method = CCK_Rx_Version_2; else - DM_RxPathSelTable.cck_method = CCK_Rx_Version_1; - DM_RxPathSelTable.disabled_rf = 0; + dm_rx_path_sel_table.cck_method = CCK_Rx_Version_1; + dm_rx_path_sel_table.disabled_rf = 0; for (i = 0; i < 4; i++) { - DM_RxPathSelTable.rf_rssi[i] = 50; - DM_RxPathSelTable.cck_pwdb_sta[i] = -64; - DM_RxPathSelTable.rf_enable_rssi_th[i] = 100; + dm_rx_path_sel_table.rf_rssi[i] = 50; + dm_rx_path_sel_table.cck_pwdb_sta[i] = -64; + dm_rx_path_sel_table.rf_enable_rssi_th[i] = 100; } } @@ -1769,22 +1769,22 @@ static void _rtl92e_dm_rx_path_sel_byrssi(struct net_device *dev) return; if (!cck_Rx_Path_initialized) { - DM_RxPathSelTable.cck_rx_path = (rtl92e_readb(dev, 0xa07)&0xf); + dm_rx_path_sel_table.cck_rx_path = (rtl92e_readb(dev, 0xa07)&0xf); cck_Rx_Path_initialized = 1; } - DM_RxPathSelTable.disabled_rf = 0xf; - DM_RxPathSelTable.disabled_rf &= ~(rtl92e_readb(dev, 0xc04)); + dm_rx_path_sel_table.disabled_rf = 0xf; + dm_rx_path_sel_table.disabled_rf &= ~(rtl92e_readb(dev, 0xc04)); if (priv->rtllib->mode == WIRELESS_MODE_B) - DM_RxPathSelTable.cck_method = CCK_Rx_Version_2; + dm_rx_path_sel_table.cck_method = CCK_Rx_Version_2; for (i = 0; i < RF90_PATH_MAX; i++) { - DM_RxPathSelTable.rf_rssi[i] = priv->stats.rx_rssi_percentage[i]; + dm_rx_path_sel_table.rf_rssi[i] = priv->stats.rx_rssi_percentage[i]; if (priv->brfpath_rxenable[i]) { rf_num++; - cur_rf_rssi = DM_RxPathSelTable.rf_rssi[i]; + cur_rf_rssi = dm_rx_path_sel_table.rf_rssi[i]; if (rf_num == 1) { max_rssi_index = min_rssi_index = sec_rssi_index = i; @@ -1832,12 +1832,12 @@ static void _rtl92e_dm_rx_path_sel_byrssi(struct net_device *dev) } rf_num = 0; - if (DM_RxPathSelTable.cck_method == CCK_Rx_Version_2) { + if (dm_rx_path_sel_table.cck_method == CCK_Rx_Version_2) { for (i = 0; i < RF90_PATH_MAX; i++) { if (priv->brfpath_rxenable[i]) { rf_num++; cur_cck_pwdb = - DM_RxPathSelTable.cck_pwdb_sta[i]; + dm_rx_path_sel_table.cck_pwdb_sta[i]; if (rf_num == 1) { cck_rx_ver2_max_index = i; @@ -1894,17 +1894,17 @@ static void _rtl92e_dm_rx_path_sel_byrssi(struct net_device *dev) } update_cck_rx_path = 0; - if (DM_RxPathSelTable.cck_method == CCK_Rx_Version_2) { + if (dm_rx_path_sel_table.cck_method == CCK_Rx_Version_2) { cck_default_Rx = cck_rx_ver2_max_index; cck_optional_Rx = cck_rx_ver2_sec_index; if (tmp_cck_max_pwdb != -64) update_cck_rx_path = 1; } - if (tmp_min_rssi < DM_RxPathSelTable.ss_th_low && disabled_rf_cnt < 2) { + if (tmp_min_rssi < dm_rx_path_sel_table.ss_th_low && disabled_rf_cnt < 2) { if ((tmp_max_rssi - tmp_min_rssi) >= - DM_RxPathSelTable.diff_th) { - DM_RxPathSelTable.rf_enable_rssi_th[min_rssi_index] = + dm_rx_path_sel_table.diff_th) { + dm_rx_path_sel_table.rf_enable_rssi_th[min_rssi_index] = tmp_max_rssi+5; rtl92e_set_bb_reg(dev, rOFDM0_TRxPathEnable, 0x1<> i) & 0x1) { + if ((dm_rx_path_sel_table.disabled_rf >> i) & 0x1) { if (tmp_max_rssi >= - DM_RxPathSelTable.rf_enable_rssi_th[i]) { + dm_rx_path_sel_table.rf_enable_rssi_th[i]) { rtl92e_set_bb_reg(dev, rOFDM0_TRxPathEnable, 0x1 << i, 0x1); rtl92e_set_bb_reg(dev, rOFDM1_TRxPathEnable, 0x1 << i, 0x1); - DM_RxPathSelTable.rf_enable_rssi_th[i] + dm_rx_path_sel_table.rf_enable_rssi_th[i] = 100; disabled_rf_cnt--; } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h index 1c2eb7ac52ce..01587e2fec65 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_dm.h @@ -155,7 +155,6 @@ struct dcmd_txcmd { /*------------------------Export global variable----------------------------*/ extern struct dig_t dm_digtable; -extern struct drx_path_sel DM_RxPathSelTable; /* Pre-calculated gain tables */ extern const u32 dm_tx_bb_gain[TX_BB_GAIN_TABLE_LEN]; From 296e7dff61cbaf88846ed0aab05be6141ae106d1 Mon Sep 17 00:00:00 2001 From: Philipp Hortmann Date: Wed, 8 Feb 2023 19:56:45 +0100 Subject: [PATCH 215/219] staging: rtl8192e: Use BIT() instead of << for bit field MSR_LINK_MASK Use commonly used BIT() macro to define MSR_LINK_MASK. Equation is not accepted by checkpatch because of missing spaces. Therefore line needs to change anyhow. Signed-off-by: Philipp Hortmann Link: https://lore.kernel.org/r/20230208185645.GA14681@matrix-ESPRIMO-P710 Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h index 8b8a870fcbbd..99640c4779f7 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hw.h @@ -170,7 +170,7 @@ enum _RTL8192PCI_HW { #define BW_OPMODE_20MHZ BIT2 IC_VERRSION = 0x301, MSR = 0x303, -#define MSR_LINK_MASK ((1<<0)|(1<<1)) +#define MSR_LINK_MASK (BIT(1) | BIT(0)) #define MSR_LINK_MANAGED 2 #define MSR_LINK_ADHOC 1 #define MSR_LINK_MASTER 3 From eec8ccab1b5760ae2221bc8235c09eb05a1132c6 Mon Sep 17 00:00:00 2001 From: Parthiban Veerasooran Date: Thu, 9 Feb 2023 16:36:51 +0530 Subject: [PATCH 216/219] most: add maintainer entry This patch adds an entry in the MAINTAINERS file for the MOST(R) Technology driver. Signed-off-by: Christian Gromm Signed-off-by: Parthiban Veerasooran Link: https://lore.kernel.org/r/20230209110651.168962-1-Parthiban.Veerasooran@microchip.com Signed-off-by: Greg Kroah-Hartman --- MAINTAINERS | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index f781f936ae35..12a35773db78 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -14149,6 +14149,16 @@ F: drivers/regulator/mpq7920.c F: drivers/regulator/mpq7920.h F: include/linux/mfd/mp2629.h +MOST(R) TECHNOLOGY DRIVER +M: Parthiban Veerasooran +M: Christian Gromm +S: Maintained +F: Documentation/ABI/testing/configfs-most +F: Documentation/ABI/testing/sysfs-bus-most +F: drivers/most/ +F: drivers/staging/most/ +F: include/linux/most.h + MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER S: Orphan W: http://popies.net/meye/ From da8b09464c59c7c09f7ca880b607b5d8d0cc90fe Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Sat, 11 Feb 2023 17:50:45 +0100 Subject: [PATCH 217/219] staging: r8188eu: merge _rtw_enqueue_cmd into its caller The _rtw_enqueue_cmd function is called only by rtw_enqueue_cmd. When _rtw_enqueue_cmd is called, the caller has already checked that the obj parameter is not NULL. _rtw_enqueue_cmd returns _SUCCESS in any case. We can merge the two functions and simplify the error handling. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230211165045.414424-1-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_cmd.c | 47 +++++--------------------- 1 file changed, 9 insertions(+), 38 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188eu/core/rtw_cmd.c index d57360a68fb3..ca9e3d4ee7f4 100644 --- a/drivers/staging/r8188eu/core/rtw_cmd.c +++ b/drivers/staging/r8188eu/core/rtw_cmd.c @@ -28,32 +28,6 @@ void rtw_free_evt_priv(struct evt_priv *pevtpriv) } } -/* Calling Context: - * - * rtw_enqueue_cmd can only be called between kernel thread, - * since only spin_lock is used. - * - * ISR/Call-Back functions can't call this sub-function. - */ - -static int _rtw_enqueue_cmd(struct __queue *queue, struct cmd_obj *obj) -{ - unsigned long flags; - - if (!obj) - goto exit; - - spin_lock_irqsave(&queue->lock, flags); - - list_add_tail(&obj->list, &queue->queue); - - spin_unlock_irqrestore(&queue->lock, flags); - -exit: - - return _SUCCESS; -} - int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv) { init_completion(&pcmdpriv->enqueue_cmd); @@ -125,28 +99,25 @@ static int rtw_cmd_filter(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj) u32 rtw_enqueue_cmd(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj) { - int res = _FAIL; + unsigned long flags; struct adapter *padapter = pcmdpriv->padapter; if (!cmd_obj) - goto exit; + return _FAIL; cmd_obj->padapter = padapter; - res = rtw_cmd_filter(pcmdpriv, cmd_obj); - if (res == _FAIL) { + if (rtw_cmd_filter(pcmdpriv, cmd_obj) == _FAIL) { rtw_free_cmd_obj(cmd_obj); - goto exit; + return _FAIL; } - res = _rtw_enqueue_cmd(&pcmdpriv->cmd_queue, cmd_obj); + spin_lock_irqsave(&pcmdpriv->cmd_queue.lock, flags); + list_add_tail(&cmd_obj->list, &pcmdpriv->cmd_queue.queue); + spin_unlock_irqrestore(&pcmdpriv->cmd_queue.lock, flags); - if (res == _SUCCESS) - complete(&pcmdpriv->enqueue_cmd); - -exit: - - return res; + complete(&pcmdpriv->enqueue_cmd); + return _SUCCESS; } struct cmd_obj *rtw_dequeue_cmd(struct cmd_priv *pcmdpriv) From c17ffe008463d3a07b633dd0e956f7c1a3a7c347 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Sat, 11 Feb 2023 18:02:23 +0100 Subject: [PATCH 218/219] staging: r8188eu: replace hand coded loop with list_for_each_entry In function rtw_get_stainfo, we can use list_for_each_entry to iterate over the list of stations and make the code a bit simpler. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 Link: https://lore.kernel.org/r/20230211170223.419205-1-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_sta_mgt.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_sta_mgt.c b/drivers/staging/r8188eu/core/rtw_sta_mgt.c index a9c29b2bf230..e1ae1859686e 100644 --- a/drivers/staging/r8188eu/core/rtw_sta_mgt.c +++ b/drivers/staging/r8188eu/core/rtw_sta_mgt.c @@ -391,8 +391,7 @@ void rtw_free_all_stainfo(struct adapter *padapter) /* any station allocated can be searched by hash list */ struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) { - struct list_head *plist, *phead; - struct sta_info *psta = NULL; + struct sta_info *ploop, *psta = NULL; u32 index; u8 *addr; u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; @@ -409,18 +408,11 @@ struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) spin_lock_bh(&pstapriv->sta_hash_lock); - phead = &pstapriv->sta_hash[index]; - plist = phead->next; - - while (phead != plist) { - psta = container_of(plist, struct sta_info, hash_list); - - if ((!memcmp(psta->hwaddr, addr, ETH_ALEN))) { - /* if found the matched address */ + list_for_each_entry(ploop, &pstapriv->sta_hash[index], hash_list) { + if (!memcmp(ploop->hwaddr, addr, ETH_ALEN)) { + psta = ploop; break; } - psta = NULL; - plist = plist->next; } spin_unlock_bh(&pstapriv->sta_hash_lock); From b5929325f06300d28696b9a030539a4009154788 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Mon, 13 Feb 2023 20:54:08 +0100 Subject: [PATCH 219/219] staging: r8188eu: Revert "staging: r8188eu: simplify rtw_get_ff_hwaddr" This reverts commit fd48124e0982 ("staging: r8188eu: simplify rtw_get_ff_hwaddr"). The cleanup in this commit removes the qsel to addr mappings in rtw_get_ff_hwaddr. The underlying assumption is that rtw_write_port uses its addr parameter only for the high_queue check. This is obviously incorrect as rtw_write_port calls ffaddr2pipehdl(pdvobj, addr); where addr is mapped to a usb bulk endpoint. Unfortunately, testing did not show any problems. The Edimax V2 on which I tested has two bulk out endpoints. I guess that with the incorrect patch, addr could only be 0 (no high queue) or 6 (high queue), both of which were mapped to the first bulk out endpoint. Data transfers did still work... Fixes: fd48124e0982 ("staging: r8188eu: simplify rtw_get_ff_hwaddr") Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20230213195407.15085-1-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_xmit.c | 32 +++++++++++++++++++++- drivers/staging/r8188eu/include/rtw_xmit.h | 7 +++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index d0761ac2e695..df88b3e29e77 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1568,9 +1568,39 @@ static int rtw_br_client_tx(struct adapter *padapter, struct sk_buff **pskb) u32 rtw_get_ff_hwaddr(struct xmit_frame *pxmitframe) { + u32 addr; struct pkt_attrib *pattrib = &pxmitframe->attrib; - return pattrib->qsel == 0x11 ? HIGH_QUEUE_INX : 0; + switch (pattrib->qsel) { + case 0: + case 3: + addr = BE_QUEUE_INX; + break; + case 1: + case 2: + addr = BK_QUEUE_INX; + break; + case 4: + case 5: + addr = VI_QUEUE_INX; + break; + case 6: + case 7: + addr = VO_QUEUE_INX; + break; + case 0x10: + addr = BCN_QUEUE_INX; + break; + case 0x11:/* BC/MC in PS (HIQ) */ + addr = HIGH_QUEUE_INX; + break; + case 0x12: + default: + addr = MGT_QUEUE_INX; + break; + } + + return addr; } /* diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r8188eu/include/rtw_xmit.h index e4e5af198eee..feeac85aedb0 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -26,7 +26,14 @@ #define XMIT_BE_QUEUE (2) #define XMIT_BK_QUEUE (3) +#define VO_QUEUE_INX 0 +#define VI_QUEUE_INX 1 +#define BE_QUEUE_INX 2 +#define BK_QUEUE_INX 3 +#define BCN_QUEUE_INX 4 +#define MGT_QUEUE_INX 5 #define HIGH_QUEUE_INX 6 +#define TXCMD_QUEUE_INX 7 #define HW_QUEUE_ENTRY 8