2021-08-02 15:16:53

by Larry Finger

[permalink] [raw]
Subject: [PATCH 0/6] Clean up some extraneous wrappers and some empty routines

The original code created some wrappers to handle the differences between
Linux and Windows. In a Linux-only version, these can be removed.

Larry Finger (6):
staging: r8188eu: Remove wrappers for kalloc() and kzalloc()
staging: r8188eu: Remove wrapper around vfree
staging: r8188eu: Remove wrappers for atomic operations
staging: r8188eu: Remove 4 empty routines from os_sep/service.c
staging: r8188eu: Remove all calls to _rtw_spinlock_free()
staging: r8188eu: Remove more empty routines

drivers/staging/r8188eu/core/rtw_ap.c | 8 +-
drivers/staging/r8188eu/core/rtw_br_ext.c | 2 +-
drivers/staging/r8188eu/core/rtw_br_ext.c.rej | 11 ++
drivers/staging/r8188eu/core/rtw_cmd.c | 16 +--
drivers/staging/r8188eu/core/rtw_efuse.c | 4 +-
drivers/staging/r8188eu/core/rtw_efuse.c.rej | 20 ++++
drivers/staging/r8188eu/core/rtw_mlme.c | 15 +--
drivers/staging/r8188eu/core/rtw_mlme_ext.c | 44 +++----
.../staging/r8188eu/core/rtw_mlme_ext.c.rej | 107 ++++++++++++++++++
drivers/staging/r8188eu/core/rtw_mp.c | 5 +-
drivers/staging/r8188eu/core/rtw_p2p.c | 8 +-
drivers/staging/r8188eu/core/rtw_p2p.c.rej | 18 +++
drivers/staging/r8188eu/core/rtw_recv.c | 16 +--
drivers/staging/r8188eu/core/rtw_sta_mgt.c | 48 +-------
drivers/staging/r8188eu/core/rtw_wlan_util.c | 2 +-
drivers/staging/r8188eu/core/rtw_xmit.c | 26 +----
drivers/staging/r8188eu/hal/odm_interface.c | 2 +-
drivers/staging/r8188eu/hal/rtl8188e_cmd.c | 2 +-
.../staging/r8188eu/hal/rtl8188e_cmd.c.rej | 11 ++
.../staging/r8188eu/hal/rtl8188e_hal_init.c | 10 +-
.../r8188eu/hal/rtl8188e_hal_init.c.rej | 34 ++++++
drivers/staging/r8188eu/hal/rtl8188eu_recv.c | 3 +-
.../staging/r8188eu/hal/rtl8188eu_recv.c.rej | 12 ++
drivers/staging/r8188eu/hal/usb_halinit.c | 2 +-
drivers/staging/r8188eu/hal/usb_halinit.c.rej | 11 ++
drivers/staging/r8188eu/include/drv_types.h | 2 +-
.../staging/r8188eu/include/odm_precomp.h.rej | 19 ++++
.../staging/r8188eu/include/osdep_service.h | 28 -----
drivers/staging/r8188eu/include/rtw_cmd.h | 2 +-
.../staging/r8188eu/include/rtw_mlme_ext.h | 2 +-
drivers/staging/r8188eu/include/usb_ops.h | 4 +-
drivers/staging/r8188eu/os_dep/ioctl_linux.c | 70 ++++++------
drivers/staging/r8188eu/os_dep/mlme_linux.c | 3 +-
drivers/staging/r8188eu/os_dep/os_intfs.c | 2 -
.../staging/r8188eu/os_dep/osdep_service.c | 105 +----------------
drivers/staging/r8188eu/os_dep/rtw_android.c | 2 -
drivers/staging/r8188eu/os_dep/usb_intf.c | 10 +-
drivers/staging/r8188eu/os_dep/xmit_linux.c | 2 +-
.../staging/r8188eu/os_dep/xmit_linux.c.rej | 11 ++
39 files changed, 366 insertions(+), 333 deletions(-)
create mode 100644 drivers/staging/r8188eu/core/rtw_br_ext.c.rej
create mode 100644 drivers/staging/r8188eu/core/rtw_efuse.c.rej
create mode 100644 drivers/staging/r8188eu/core/rtw_mlme_ext.c.rej
create mode 100644 drivers/staging/r8188eu/core/rtw_p2p.c.rej
create mode 100644 drivers/staging/r8188eu/hal/rtl8188e_cmd.c.rej
create mode 100644 drivers/staging/r8188eu/hal/rtl8188e_hal_init.c.rej
create mode 100644 drivers/staging/r8188eu/hal/rtl8188eu_recv.c.rej
create mode 100644 drivers/staging/r8188eu/hal/usb_halinit.c.rej
create mode 100644 drivers/staging/r8188eu/include/odm_precomp.h.rej
create mode 100644 drivers/staging/r8188eu/os_dep/xmit_linux.c.rej

--
2.32.0



2021-08-02 15:17:09

by Larry Finger

[permalink] [raw]
Subject: [PATCH 2/6] staging: r8188eu: Remove wrapper around vfree

This call is so simple that there is no need, or use, for a wrapper.

Signed-off-by: Larry Finger <[email protected]>
---
drivers/staging/r8188eu/core/rtw_mlme.c | 4 +---
drivers/staging/r8188eu/core/rtw_mp.c | 3 +--
drivers/staging/r8188eu/core/rtw_recv.c | 5 +----
drivers/staging/r8188eu/core/rtw_sta_mgt.c | 2 +-
drivers/staging/r8188eu/core/rtw_xmit.c | 10 +++-------
drivers/staging/r8188eu/hal/odm_interface.c | 2 +-
drivers/staging/r8188eu/hal/rtl8188e_hal_init.c | 2 +-
drivers/staging/r8188eu/include/osdep_service.h | 2 --
drivers/staging/r8188eu/os_dep/ioctl_linux.c | 4 ++--
drivers/staging/r8188eu/os_dep/osdep_service.c | 7 +------
drivers/staging/r8188eu/os_dep/usb_intf.c | 2 +-
11 files changed, 13 insertions(+), 30 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_mlme.c b/drivers/staging/r8188eu/core/rtw_mlme.c
index d8716a8b224a..5f8e58a0372a 100644
--- a/drivers/staging/r8188eu/core/rtw_mlme.c
+++ b/drivers/staging/r8188eu/core/rtw_mlme.c
@@ -133,9 +133,7 @@ void _rtw_free_mlme_priv (struct mlme_priv *pmlmepriv)
if (pmlmepriv) {
rtw_mfree_mlme_priv_lock (pmlmepriv);

- if (pmlmepriv->free_bss_buf) {
- rtw_vmfree(pmlmepriv->free_bss_buf, MAX_BSS_CNT * sizeof(struct wlan_network));
- }
+ vfree(pmlmepriv->free_bss_buf);
}

}
diff --git a/drivers/staging/r8188eu/core/rtw_mp.c b/drivers/staging/r8188eu/core/rtw_mp.c
index a12c6e0ad002..c579f2e2fd62 100644
--- a/drivers/staging/r8188eu/core/rtw_mp.c
+++ b/drivers/staging/r8188eu/core/rtw_mp.c
@@ -922,8 +922,7 @@ void _rtw_mp_xmit_priv(struct xmit_priv *pxmitpriv)
pxmitbuf++;
}

- if (pxmitpriv->pallocated_xmit_extbuf)
- rtw_vmfree(pxmitpriv->pallocated_xmit_extbuf, num_xmit_extbuf * sizeof(struct xmit_buf) + 4);
+ vfree(pxmitpriv->pallocated_xmit_extbuf);

if (padapter->registrypriv.mp_mode == 0) {
max_xmit_extbuf_size = 6000;
diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r8188eu/core/rtw_recv.c
index 610cc699caf9..08e095cd08b8 100644
--- a/drivers/staging/r8188eu/core/rtw_recv.c
+++ b/drivers/staging/r8188eu/core/rtw_recv.c
@@ -115,12 +115,9 @@ void _rtw_free_recv_priv (struct recv_priv *precvpriv)

rtw_os_recv_resource_free(precvpriv);

- if (precvpriv->pallocated_frame_buf) {
- rtw_vmfree(precvpriv->pallocated_frame_buf, NR_RECVFRAME * sizeof(struct recv_frame) + RXFRAME_ALIGN_SZ);
- }
+ vfree(precvpriv->pallocated_frame_buf);

rtw_hal_free_recv_priv(padapter);
-
}

struct recv_frame *_rtw_alloc_recvframe (struct __queue *pfree_recv_queue)
diff --git a/drivers/staging/r8188eu/core/rtw_sta_mgt.c b/drivers/staging/r8188eu/core/rtw_sta_mgt.c
index feaf39fddf7c..3b1a6a689d95 100644
--- a/drivers/staging/r8188eu/core/rtw_sta_mgt.c
+++ b/drivers/staging/r8188eu/core/rtw_sta_mgt.c
@@ -233,7 +233,7 @@ u32 _rtw_free_sta_priv(struct sta_priv *pstapriv)
rtw_mfree_sta_priv_lock(pstapriv);

if (pstapriv->pallocated_stainfo_buf)
- rtw_vmfree(pstapriv->pallocated_stainfo_buf, sizeof(struct sta_info)*NUM_STA+4);
+ vfree(pstapriv->pallocated_stainfo_buf);
}

return _SUCCESS;
diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c
index 408d2b9955b9..87aa45c0305a 100644
--- a/drivers/staging/r8188eu/core/rtw_xmit.c
+++ b/drivers/staging/r8188eu/core/rtw_xmit.c
@@ -252,11 +252,9 @@ void _rtw_free_xmit_priv (struct xmit_priv *pxmitpriv)
pxmitbuf++;
}

- if (pxmitpriv->pallocated_frame_buf)
- rtw_vmfree(pxmitpriv->pallocated_frame_buf, NR_XMITFRAME * sizeof(struct xmit_frame) + 4);
+ vfree(pxmitpriv->pallocated_frame_buf);

- if (pxmitpriv->pallocated_xmitbuf)
- rtw_vmfree(pxmitpriv->pallocated_xmitbuf, NR_XMITBUFF * sizeof(struct xmit_buf) + 4);
+ vfree(pxmitpriv->pallocated_xmitbuf);

/* free xmit extension buff */
_rtw_spinlock_free(&pxmitpriv->free_xmit_extbuf_queue.lock);
@@ -267,9 +265,7 @@ void _rtw_free_xmit_priv (struct xmit_priv *pxmitpriv)
pxmitbuf++;
}

- if (pxmitpriv->pallocated_xmit_extbuf) {
- rtw_vmfree(pxmitpriv->pallocated_xmit_extbuf, num_xmit_extbuf * sizeof(struct xmit_buf) + 4);
- }
+ vfree(pxmitpriv->pallocated_xmit_extbuf);

rtw_free_hwxmits(padapter);

diff --git a/drivers/staging/r8188eu/hal/odm_interface.c b/drivers/staging/r8188eu/hal/odm_interface.c
index 507baf9fd913..38f6ae410e53 100644
--- a/drivers/staging/r8188eu/hal/odm_interface.c
+++ b/drivers/staging/r8188eu/hal/odm_interface.c
@@ -85,7 +85,7 @@ void ODM_AllocateMemory(struct odm_dm_struct *pDM_Odm, void **pPtr, u32 length)
/* length could be ignored, used to detect memory leakage. */
void ODM_FreeMemory(struct odm_dm_struct *pDM_Odm, void *pPtr, u32 length)
{
- rtw_vmfree(pPtr, length);
+ vfree(pPtr);
}

s32 ODM_CompareMemory(struct odm_dm_struct *pDM_Odm, void *pBuf1, void *pBuf2, u32 length)
diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
index 62d8a7ca3a9a..a8e2081f3540 100644
--- a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
+++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
@@ -363,7 +363,7 @@ void rtw_IOL_cmd_tx_pkt_buf_dump(struct adapter *Adapter, int data_len)
} while (!rstatus && (loop++ < 10));
}
rtw_IOL_cmd_buf_dump(Adapter, data_len, pbuf);
- rtw_vmfree(pbuf, data_len+10);
+ vfree(pbuf);
}
DBG_88E("###### %s ######\n", __func__);
}
diff --git a/drivers/staging/r8188eu/include/osdep_service.h b/drivers/staging/r8188eu/include/osdep_service.h
index 30f645d89fe8..48d49919b2d5 100644
--- a/drivers/staging/r8188eu/include/osdep_service.h
+++ b/drivers/staging/r8188eu/include/osdep_service.h
@@ -214,10 +214,8 @@ extern unsigned char RSN_TKIP_CIPHER[4];
#define rtw_update_mem_stat(flag, sz) do {} while (0)
u8 *_rtw_vmalloc(u32 sz);
u8 *_rtw_zvmalloc(u32 sz);
-void _rtw_vmfree(u8 *pbuf, u32 sz);
#define rtw_vmalloc(sz) _rtw_vmalloc((sz))
#define rtw_zvmalloc(sz) _rtw_zvmalloc((sz))
-#define rtw_vmfree(pbuf, sz) _rtw_vmfree((pbuf), (sz))

void *rtw_malloc2d(int h, int w, int size);

diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging/r8188eu/os_dep/ioctl_linux.c
index 5f4355cb03e7..11301e0f287a 100644
--- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c
+++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c
@@ -5575,7 +5575,7 @@ static int rtw_wx_set_priv(struct net_device *dev,
return -ENOMEM;

if (copy_from_user(ext, dwrq->pointer, len)) {
- rtw_vmfree(ext, len);
+ vfree(ext);
return -EFAULT;
}

@@ -5614,7 +5614,7 @@ static int rtw_wx_set_priv(struct net_device *dev,

FREE_EXT:

- rtw_vmfree(ext, len);
+ vfree(ext);

return ret;
}
diff --git a/drivers/staging/r8188eu/os_dep/osdep_service.c b/drivers/staging/r8188eu/os_dep/osdep_service.c
index d537f6352fc5..dab61fac976c 100644
--- a/drivers/staging/r8188eu/os_dep/osdep_service.c
+++ b/drivers/staging/r8188eu/os_dep/osdep_service.c
@@ -53,11 +53,6 @@ inline u8 *_rtw_zvmalloc(u32 sz)
return pbuf;
}

-inline void _rtw_vmfree(u8 *pbuf, u32 sz)
-{
- vfree(pbuf);
-}
-
void *rtw_malloc2d(int h, int w, int size)
{
int j;
@@ -296,7 +291,7 @@ void rtw_free_netdev(struct net_device *netdev)
if (!pnpi->priv)
goto RETURN;

- rtw_vmfree(pnpi->priv, pnpi->sizeof_priv);
+ vfree(pnpi->priv);
free_netdev(netdev);

RETURN:
diff --git a/drivers/staging/r8188eu/os_dep/usb_intf.c b/drivers/staging/r8188eu/os_dep/usb_intf.c
index 270de35f1d35..2c372c9ad7e7 100644
--- a/drivers/staging/r8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/r8188eu/os_dep/usb_intf.c
@@ -702,7 +702,7 @@ static struct adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj,
if (pnetdev)
rtw_free_netdev(pnetdev);
else if (padapter)
- rtw_vmfree((u8 *)padapter, sizeof(*padapter));
+ vfree(padapter);
padapter = NULL;
}
exit:
--
2.32.0


2021-08-02 15:17:09

by Larry Finger

[permalink] [raw]
Subject: [PATCH 1/6] staging: r8188eu: Remove wrappers for kalloc() and kzalloc()

These wrappers involve an in_interrupt() call, which is not frowned on
in the kernel. These changes decrease the size of the driver by a trivial
amount.

Signed-off-by: Larry Finger <[email protected]>
---
drivers/staging/r8188eu/core/rtw_ap.c | 8 +-
drivers/staging/r8188eu/core/rtw_br_ext.c | 2 +-
drivers/staging/r8188eu/core/rtw_br_ext.c.rej | 11 ++
drivers/staging/r8188eu/core/rtw_cmd.c | 11 +-
drivers/staging/r8188eu/core/rtw_efuse.c | 4 +-
drivers/staging/r8188eu/core/rtw_efuse.c.rej | 20 ++++
drivers/staging/r8188eu/core/rtw_mlme.c | 8 +-
drivers/staging/r8188eu/core/rtw_mlme_ext.c | 30 ++---
.../staging/r8188eu/core/rtw_mlme_ext.c.rej | 107 ++++++++++++++++++
drivers/staging/r8188eu/core/rtw_mp.c | 2 +-
drivers/staging/r8188eu/core/rtw_p2p.c | 8 +-
drivers/staging/r8188eu/core/rtw_p2p.c.rej | 18 +++
drivers/staging/r8188eu/core/rtw_wlan_util.c | 2 +-
drivers/staging/r8188eu/core/rtw_xmit.c | 2 +-
drivers/staging/r8188eu/hal/rtl8188e_cmd.c | 2 +-
.../staging/r8188eu/hal/rtl8188e_cmd.c.rej | 11 ++
.../staging/r8188eu/hal/rtl8188e_hal_init.c | 8 +-
.../r8188eu/hal/rtl8188e_hal_init.c.rej | 34 ++++++
drivers/staging/r8188eu/hal/rtl8188eu_recv.c | 3 +-
.../staging/r8188eu/hal/rtl8188eu_recv.c.rej | 12 ++
drivers/staging/r8188eu/hal/usb_halinit.c | 2 +-
drivers/staging/r8188eu/hal/usb_halinit.c.rej | 11 ++
.../staging/r8188eu/include/odm_precomp.h.rej | 19 ++++
.../staging/r8188eu/include/osdep_service.h | 6 -
drivers/staging/r8188eu/os_dep/ioctl_linux.c | 66 +++++------
drivers/staging/r8188eu/os_dep/mlme_linux.c | 3 +-
.../staging/r8188eu/os_dep/osdep_service.c | 28 +----
drivers/staging/r8188eu/os_dep/usb_intf.c | 4 +-
drivers/staging/r8188eu/os_dep/xmit_linux.c | 2 +-
.../staging/r8188eu/os_dep/xmit_linux.c.rej | 11 ++
30 files changed, 340 insertions(+), 115 deletions(-)
create mode 100644 drivers/staging/r8188eu/core/rtw_br_ext.c.rej
create mode 100644 drivers/staging/r8188eu/core/rtw_efuse.c.rej
create mode 100644 drivers/staging/r8188eu/core/rtw_mlme_ext.c.rej
create mode 100644 drivers/staging/r8188eu/core/rtw_p2p.c.rej
create mode 100644 drivers/staging/r8188eu/hal/rtl8188e_cmd.c.rej
create mode 100644 drivers/staging/r8188eu/hal/rtl8188e_hal_init.c.rej
create mode 100644 drivers/staging/r8188eu/hal/rtl8188eu_recv.c.rej
create mode 100644 drivers/staging/r8188eu/hal/usb_halinit.c.rej
create mode 100644 drivers/staging/r8188eu/include/odm_precomp.h.rej
create mode 100644 drivers/staging/r8188eu/os_dep/xmit_linux.c.rej

diff --git a/drivers/staging/r8188eu/core/rtw_ap.c b/drivers/staging/r8188eu/core/rtw_ap.c
index 0bb545135206..3a23e4675fab 100644
--- a/drivers/staging/r8188eu/core/rtw_ap.c
+++ b/drivers/staging/r8188eu/core/rtw_ap.c
@@ -98,7 +98,7 @@ static void update_BCNTIM(struct adapter *padapter)
}

if (remainder_ielen > 0) {
- pbackup_remainder_ie = rtw_malloc(remainder_ielen);
+ pbackup_remainder_ie = kmalloc(remainder_ielen, GFP_KERNEL);
if (pbackup_remainder_ie && premainder_ie)
memcpy(pbackup_remainder_ie, premainder_ie, remainder_ielen);
}
@@ -180,7 +180,7 @@ void rtw_add_bcn_ie(struct adapter *padapter, struct wlan_bssid_ex *pnetwork, u8
}

if (remainder_ielen > 0) {
- pbackup_remainder_ie = rtw_malloc(remainder_ielen);
+ pbackup_remainder_ie = kmalloc(remainder_ielen, GFP_KERNEL);
if (pbackup_remainder_ie && premainder_ie)
memcpy(pbackup_remainder_ie, premainder_ie, remainder_ielen);
}
@@ -224,7 +224,7 @@ void rtw_remove_bcn_ie(struct adapter *padapter, struct wlan_bssid_ex *pnetwork,
}

if (remainder_ielen > 0) {
- pbackup_remainder_ie = rtw_malloc(remainder_ielen);
+ pbackup_remainder_ie = kmalloc(remainder_ielen, GFP_KERNEL);
if (pbackup_remainder_ie && premainder_ie)
memcpy(pbackup_remainder_ie, premainder_ie, remainder_ielen);
}
@@ -1302,7 +1302,7 @@ static void update_bcn_wps_ie(struct adapter *padapter)
remainder_ielen = ielen - wps_offset - wps_ielen;

if (remainder_ielen > 0) {
- pbackup_remainder_ie = rtw_malloc(remainder_ielen);
+ pbackup_remainder_ie = kmalloc(remainder_ielen, GFP_KERNEL);
if (pbackup_remainder_ie)
memcpy(pbackup_remainder_ie, premainder_ie, remainder_ielen);
}
diff --git a/drivers/staging/r8188eu/core/rtw_br_ext.c b/drivers/staging/r8188eu/core/rtw_br_ext.c
index 8f434768dd15..c62e40d1d3ef 100644
--- a/drivers/staging/r8188eu/core/rtw_br_ext.c
+++ b/drivers/staging/r8188eu/core/rtw_br_ext.c
@@ -420,7 +420,7 @@ static void __nat25_db_network_insert(struct adapter *priv,
}
db = db->next_hash;
}
- db = (struct nat25_network_db_entry *) rtw_malloc(sizeof(*db));
+ db = kmalloc(sizeof(*db), GFP_KERNEL);
if (db == NULL) {
spin_unlock_bh(&priv->br_ext_lock);
return;
diff --git a/drivers/staging/r8188eu/core/rtw_br_ext.c.rej b/drivers/staging/r8188eu/core/rtw_br_ext.c.rej
new file mode 100644
index 000000000000..18113389acce
--- /dev/null
+++ b/drivers/staging/r8188eu/core/rtw_br_ext.c.rej
@@ -0,0 +1,11 @@
+--- drivers/staging/r8188eu/core/rtw_br_ext.c
++++ drivers/staging/r8188eu/core/rtw_br_ext.c
+@@ -420,7 +420,7 @@ static void __nat25_db_network_insert(st
+ }
+ db = db->next_hash;
+ }
+- db = (struct nat25_network_db_entry *) rtw_malloc(sizeof(*db));
++ db = kmalloc(sizeof(*db), GFP_KERNEL);
+ if (db == NULL) {
+ spin_unlock_bh(&priv->br_ext_lock);
+ return;
diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188eu/core/rtw_cmd.c
index 4e17972ee66e..55971c47c90a 100644
--- a/drivers/staging/r8188eu/core/rtw_cmd.c
+++ b/drivers/staging/r8188eu/core/rtw_cmd.c
@@ -1947,10 +1947,13 @@ static void c2h_wk_callback(struct work_struct *work)
if ((c2h_evt = (struct c2h_evt_hdr *)rtw_cbuf_pop(evtpriv->c2h_queue)) != NULL) {
/* This C2H event is read, clear it */
c2h_evt_clear(adapter);
- } else if ((c2h_evt = (struct c2h_evt_hdr *)rtw_malloc(16)) != NULL) {
- /* This C2H event is not read, read & clear now */
- if (c2h_evt_read(adapter, (u8 *)c2h_evt) != _SUCCESS)
- continue;
+ } else {
+ c2h_evt = kmalloc(16, GFP_KERNEL);
+ if (c2h_evt) {
+ /* This C2H event is not read, read & clear now */
+ if (c2h_evt_read(adapter, (u8 *)c2h_evt) != _SUCCESS)
+ continue;
+ }
}

/* Special pointer to trigger c2h_evt_clear only */
diff --git a/drivers/staging/r8188eu/core/rtw_efuse.c b/drivers/staging/r8188eu/core/rtw_efuse.c
index e84540a7d2c5..e49613726c04 100644
--- a/drivers/staging/r8188eu/core/rtw_efuse.c
+++ b/drivers/staging/r8188eu/core/rtw_efuse.c
@@ -533,7 +533,7 @@ u8 rtw_efuse_map_write(struct adapter *padapter, u16 addr, u16 cnts, u8 *data)
if ((addr + cnts) > mapLen)
return _FAIL;

- map = rtw_zmalloc(mapLen);
+ map = kzalloc(mapLen, GFP_KERNEL);
if (map == NULL)
return _FAIL;

@@ -625,7 +625,7 @@ u8 rtw_BT_efuse_map_write(struct adapter *padapter, u16 addr, u16 cnts, u8 *data
if ((addr + cnts) > mapLen)
return _FAIL;

- map = rtw_zmalloc(mapLen);
+ map = kzalloc(mapLen, GFP_KERNEL);
if (map == NULL)
return _FAIL;

diff --git a/drivers/staging/r8188eu/core/rtw_efuse.c.rej b/drivers/staging/r8188eu/core/rtw_efuse.c.rej
new file mode 100644
index 000000000000..c549e8392561
--- /dev/null
+++ b/drivers/staging/r8188eu/core/rtw_efuse.c.rej
@@ -0,0 +1,20 @@
+--- drivers/staging/r8188eu/core/rtw_efuse.c
++++ drivers/staging/r8188eu/core/rtw_efuse.c
+@@ -533,7 +533,7 @@ u8 rtw_efuse_map_write(struct adapter *p
+ if ((addr + cnts) > mapLen)
+ return _FAIL;
+
+- map = rtw_zmalloc(mapLen);
++ map = kzalloc(mapLen, GFP_KERNEL);
+ if (map == NULL)
+ return _FAIL;
+
+@@ -625,7 +625,7 @@ u8 rtw_BT_efuse_map_write(struct adapter
+ if ((addr + cnts) > mapLen)
+ return _FAIL;
+
+- map = rtw_zmalloc(mapLen);
++ map = kzalloc(mapLen, GFP_KERNEL);
+ if (map == NULL)
+ return _FAIL;
+
diff --git a/drivers/staging/r8188eu/core/rtw_mlme.c b/drivers/staging/r8188eu/core/rtw_mlme.c
index d692f1477cc8..d8716a8b224a 100644
--- a/drivers/staging/r8188eu/core/rtw_mlme.c
+++ b/drivers/staging/r8188eu/core/rtw_mlme.c
@@ -1750,13 +1750,13 @@ int rtw_set_auth(struct adapter *adapter, struct security_priv *psecuritypriv)
struct cmd_priv *pcmdpriv = &(adapter->cmdpriv);
int res = _SUCCESS;

- pcmd = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ pcmd = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
if (pcmd == NULL) {
res = _FAIL; /* try again */
goto exit;
}

- psetauthparm = (struct setauth_parm *)rtw_zmalloc(sizeof(struct setauth_parm));
+ psetauthparm = kzalloc(sizeof(struct setauth_parm), GFP_KERNEL);
if (psetauthparm == NULL) {
kfree(pcmd);
res = _FAIL;
@@ -1788,12 +1788,12 @@ int rtw_set_key(struct adapter *adapter, struct security_priv *psecuritypriv, in
struct mlme_priv *pmlmepriv = &(adapter->mlmepriv);
int res = _SUCCESS;

- pcmd = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ pcmd = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
if (pcmd == NULL) {
res = _FAIL; /* try again */
goto exit;
}
- psetkeyparm = (struct setkey_parm *)rtw_zmalloc(sizeof(struct setkey_parm));
+ psetkeyparm = kzalloc(sizeof(struct setkey_parm), GFP_KERNEL);
if (psetkeyparm == NULL) {
kfree(pcmd);
res = _FAIL;
diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
index 1160b7caffdd..045179b4a1d6 100644
--- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
@@ -662,7 +662,7 @@ unsigned int OnBeacon(struct adapter *padapter, struct recv_frame *precv_frame)
if (!memcmp(GetAddr3Ptr(pframe), get_my_bssid(&pmlmeinfo->network), ETH_ALEN)) {
if (pmlmeinfo->state & WIFI_FW_AUTH_NULL) {
/* we should update current network before auth, or some IE is wrong */
- pbss = (struct wlan_bssid_ex *)rtw_malloc(sizeof(struct wlan_bssid_ex));
+ pbss = kmalloc(sizeof(struct wlan_bssid_ex), GFP_ATOMIC);
if (pbss) {
if (collect_bss_info(padapter, precv_frame, pbss) == _SUCCESS) {
update_network(&(pmlmepriv->cur_network.network), pbss, padapter, true);
@@ -6990,12 +6990,12 @@ void report_survey_event(struct adapter *padapter, struct recv_frame *precv_fram
pmlmeext = &padapter->mlmeextpriv;
pcmdpriv = &padapter->cmdpriv;

- pcmd_obj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ pcmd_obj = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
if (pcmd_obj == NULL)
return;

cmdsz = (sizeof(struct survey_event) + sizeof(struct C2HEvent_Header));
- pevtcmd = (u8 *)rtw_zmalloc(cmdsz);
+ pevtcmd = kzalloc(cmdsz, GFP_ATOMIC);
if (pevtcmd == NULL) {
kfree(pcmd_obj);
return;
@@ -7042,12 +7042,12 @@ void report_surveydone_event(struct adapter *padapter)
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;

- pcmd_obj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ pcmd_obj = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
if (pcmd_obj == NULL)
return;

cmdsz = (sizeof(struct surveydone_event) + sizeof(struct C2HEvent_Header));
- pevtcmd = (u8 *)rtw_zmalloc(cmdsz);
+ pevtcmd = kzalloc(cmdsz, GFP_KERNEL);
if (pevtcmd == NULL) {
kfree(pcmd_obj);
return;
@@ -7088,12 +7088,12 @@ void report_join_res(struct adapter *padapter, int res)
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;

- pcmd_obj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ pcmd_obj = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
if (pcmd_obj == NULL)
return;

cmdsz = (sizeof(struct joinbss_event) + sizeof(struct C2HEvent_Header));
- pevtcmd = (u8 *)rtw_zmalloc(cmdsz);
+ pevtcmd = kzalloc(cmdsz, GFP_ATOMIC);
if (pevtcmd == NULL) {
kfree(pcmd_obj);
return;
@@ -7139,12 +7139,12 @@ void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr, unsi
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;

- pcmd_obj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ pcmd_obj = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
if (pcmd_obj == NULL)
return;

cmdsz = (sizeof(struct stadel_event) + sizeof(struct C2HEvent_Header));
- pevtcmd = (u8 *)rtw_zmalloc(cmdsz);
+ pevtcmd = kzalloc(cmdsz, GFP_KERNEL);
if (pevtcmd == NULL) {
kfree(pcmd_obj);
return;
@@ -7193,12 +7193,12 @@ void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr, int
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;

- pcmd_obj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ pcmd_obj = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
if (pcmd_obj == NULL)
return;

cmdsz = (sizeof(struct stassoc_event) + sizeof(struct C2HEvent_Header));
- pevtcmd = (u8 *)rtw_zmalloc(cmdsz);
+ pevtcmd = kzalloc(cmdsz, GFP_KERNEL);
if (pevtcmd == NULL) {
kfree(pcmd_obj);
return;
@@ -7616,11 +7616,11 @@ void survey_timer_hdl(struct adapter *padapter)
pmlmeext->scan_abort = false;/* reset */
}

- ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ ph2c = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
if (ph2c == NULL)
goto exit_survey_timer_hdl;

- psurveyPara = (struct sitesurvey_parm *)rtw_zmalloc(sizeof(struct sitesurvey_parm));
+ psurveyPara = kzalloc(sizeof(struct sitesurvey_parm), GFP_ATOMIC);
if (psurveyPara == NULL) {
kfree(ph2c);
goto exit_survey_timer_hdl;
@@ -8193,13 +8193,13 @@ u8 set_tx_beacon_cmd(struct adapter *padapter)
u8 res = _SUCCESS;
int len_diff = 0;

- ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
if (ph2c == NULL) {
res = _FAIL;
goto exit;
}

- ptxBeacon_parm = (struct Tx_Beacon_param *)rtw_zmalloc(sizeof(struct Tx_Beacon_param));
+ ptxBeacon_parm = kzalloc(sizeof(struct Tx_Beacon_param), GFP_KERNEL);
if (ptxBeacon_parm == NULL) {
kfree(ph2c);
res = _FAIL;
diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c.rej b/drivers/staging/r8188eu/core/rtw_mlme_ext.c.rej
new file mode 100644
index 000000000000..b91a178bdae2
--- /dev/null
+++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c.rej
@@ -0,0 +1,107 @@
+--- drivers/staging/r8188eu/core/rtw_mlme_ext.c
++++ drivers/staging/r8188eu/core/rtw_mlme_ext.c
+@@ -6990,12 +6990,12 @@ void report_survey_event(struct adapter
+ pmlmeext = &padapter->mlmeextpriv;
+ pcmdpriv = &padapter->cmdpriv;
+
+- pcmd_obj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
++ pcmd_obj = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
+ if (pcmd_obj == NULL)
+ return;
+
+ cmdsz = (sizeof(struct survey_event) + sizeof(struct C2HEvent_Header));
+- pevtcmd = (u8 *)rtw_zmalloc(cmdsz);
++ pevtcmd = kzalloc(cmdsz, GFP_ATOMIC);
+ if (pevtcmd == NULL) {
+ kfree(pcmd_obj);
+ return;
+@@ -7042,12 +7042,12 @@ void report_surveydone_event(struct adap
+ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
+ struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
+
+- pcmd_obj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
++ pcmd_obj = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
+ if (pcmd_obj == NULL)
+ return;
+
+ cmdsz = (sizeof(struct surveydone_event) + sizeof(struct C2HEvent_Header));
+- pevtcmd = (u8 *)rtw_zmalloc(cmdsz);
++ pevtcmd = kzalloc(cmdsz, GFP_KERNEL);
+ if (pevtcmd == NULL) {
+ kfree(pcmd_obj);
+ return;
+@@ -7088,12 +7088,12 @@ void report_join_res(struct adapter *pad
+ struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
+ struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
+
+- pcmd_obj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
++ pcmd_obj = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
+ if (pcmd_obj == NULL)
+ return;
+
+ cmdsz = (sizeof(struct joinbss_event) + sizeof(struct C2HEvent_Header));
+- pevtcmd = (u8 *)rtw_zmalloc(cmdsz);
++ pevtcmd = kzalloc(cmdsz, GFP_ATOMIC);
+ if (pevtcmd == NULL) {
+ kfree(pcmd_obj);
+ return;
+@@ -7139,12 +7139,12 @@ void report_del_sta_event(struct adapter
+ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
+ struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
+
+- pcmd_obj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
++ pcmd_obj = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
+ if (pcmd_obj == NULL)
+ return;
+
+ cmdsz = (sizeof(struct stadel_event) + sizeof(struct C2HEvent_Header));
+- pevtcmd = (u8 *)rtw_zmalloc(cmdsz);
++ pevtcmd = kzalloc(cmdsz, GFP_KERNEL);
+ if (pevtcmd == NULL) {
+ kfree(pcmd_obj);
+ return;
+@@ -7193,12 +7193,12 @@ void report_add_sta_event(struct adapter
+ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
+ struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
+
+- pcmd_obj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
++ pcmd_obj = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
+ if (pcmd_obj == NULL)
+ return;
+
+ cmdsz = (sizeof(struct stassoc_event) + sizeof(struct C2HEvent_Header));
+- pevtcmd = (u8 *)rtw_zmalloc(cmdsz);
++ pevtcmd = kzalloc(cmdsz, GFP_KERNEL);
+ if (pevtcmd == NULL) {
+ kfree(pcmd_obj);
+ return;
+@@ -7616,11 +7616,11 @@ void survey_timer_hdl(struct adapter *pa
+ pmlmeext->scan_abort = false;/* reset */
+ }
+
+- ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
++ ph2c = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
+ if (ph2c == NULL)
+ goto exit_survey_timer_hdl;
+
+- psurveyPara = (struct sitesurvey_parm *)rtw_zmalloc(sizeof(struct sitesurvey_parm));
++ psurveyPara = kzalloc(sizeof(struct sitesurvey_parm), GFP_ATOMIC);
+ if (psurveyPara == NULL) {
+ kfree(ph2c);
+ goto exit_survey_timer_hdl;
+@@ -8193,13 +8193,13 @@ u8 set_tx_beacon_cmd(struct adapter *pad
+ u8 res = _SUCCESS;
+ int len_diff = 0;
+
+- ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
++ ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
+ if (ph2c == NULL) {
+ res = _FAIL;
+ goto exit;
+ }
+
+- ptxBeacon_parm = (struct Tx_Beacon_param *)rtw_zmalloc(sizeof(struct Tx_Beacon_param));
++ ptxBeacon_parm = kzalloc(sizeof(struct Tx_Beacon_param), GFP_KERNEL);
+ if (ptxBeacon_parm == NULL) {
+ kfree(ph2c);
+ res = _FAIL;
diff --git a/drivers/staging/r8188eu/core/rtw_mp.c b/drivers/staging/r8188eu/core/rtw_mp.c
index 1b4e9bbc394b..a12c6e0ad002 100644
--- a/drivers/staging/r8188eu/core/rtw_mp.c
+++ b/drivers/staging/r8188eu/core/rtw_mp.c
@@ -669,7 +669,7 @@ void SetPacketTx(struct adapter *padapter)
kfree(pmp_priv->tx.pallocated_buf);
pmp_priv->tx.write_size = pkt_size;
pmp_priv->tx.buf_size = pkt_size + XMITBUF_ALIGN_SZ;
- pmp_priv->tx.pallocated_buf = rtw_zmalloc(pmp_priv->tx.buf_size);
+ pmp_priv->tx.pallocated_buf = kzalloc(pmp_priv->tx.buf_size, GFP_KERNEL);
if (pmp_priv->tx.pallocated_buf == NULL) {
DBG_88E("%s: malloc(%d) fail!!\n", __func__, pmp_priv->tx.buf_size);
return;
diff --git a/drivers/staging/r8188eu/core/rtw_p2p.c b/drivers/staging/r8188eu/core/rtw_p2p.c
index 30823bfdd1b5..3e550bc126db 100644
--- a/drivers/staging/r8188eu/core/rtw_p2p.c
+++ b/drivers/staging/r8188eu/core/rtw_p2p.c
@@ -34,7 +34,7 @@ static u32 go_add_group_info_attr(struct wifidirect_info *pwdinfo, u8 *pbuf)

DBG_88E("%s\n", __func__);

- pdata_attr = rtw_zmalloc(MAX_P2P_IE_LEN);
+ pdata_attr = kzalloc(MAX_P2P_IE_LEN, GFP_KERNEL);

pstart = pdata_attr;
pcur = pdata_attr;
@@ -857,7 +857,7 @@ u32 process_assoc_req_p2p_ie(struct wifidirect_info *pwdinfo, u8 *pframe, uint l
/* Check P2P Device Info ATTR */
if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_DEVICE_INFO, NULL, (uint *)&attr_contentlen)) {
DBG_88E("[%s] Got P2P DEVICE INFO Attr!!\n", __func__);
- pattr_content = rtw_zmalloc(attr_contentlen);
+ pattr_content = kzalloc(attr_contentlen, GFP_KERNEL);
pbuf = pattr_content;
if (pattr_content) {
u8 num_of_secdev_type;
@@ -1699,13 +1699,13 @@ u8 p2p_ps_wk_cmd(struct adapter *padapter, u8 p2p_ps_state, u8 enqueue)
return res;

if (enqueue) {
- ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
if (ph2c == NULL) {
res = _FAIL;
goto exit;
}

- pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+ pdrvextra_cmd_parm = kzalloc(sizeof(struct drvextra_cmd_parm), GFP_KERNEL);
if (pdrvextra_cmd_parm == NULL) {
kfree(ph2c);
res = _FAIL;
diff --git a/drivers/staging/r8188eu/core/rtw_p2p.c.rej b/drivers/staging/r8188eu/core/rtw_p2p.c.rej
new file mode 100644
index 000000000000..e94a68cb68ac
--- /dev/null
+++ b/drivers/staging/r8188eu/core/rtw_p2p.c.rej
@@ -0,0 +1,18 @@
+--- drivers/staging/r8188eu/core/rtw_p2p.c
++++ drivers/staging/r8188eu/core/rtw_p2p.c
+@@ -1699,13 +1699,13 @@ u8 p2p_ps_wk_cmd(struct adapter *padapte
+ return res;
+
+ if (enqueue) {
+- ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
++ ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
+ if (ph2c == NULL) {
+ res = _FAIL;
+ goto exit;
+ }
+
+- pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
++ pdrvextra_cmd_parm = kzalloc(sizeof(struct drvextra_cmd_parm), GFP_KERNEL);
+ if (pdrvextra_cmd_parm == NULL) {
+ kfree(ph2c);
+ res = _FAIL;
diff --git a/drivers/staging/r8188eu/core/rtw_wlan_util.c b/drivers/staging/r8188eu/core/rtw_wlan_util.c
index 15edccef9f1d..2a30b9164107 100644
--- a/drivers/staging/r8188eu/core/rtw_wlan_util.c
+++ b/drivers/staging/r8188eu/core/rtw_wlan_util.c
@@ -919,7 +919,7 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
return true;
}

- bssid = (struct wlan_bssid_ex *)rtw_zmalloc(sizeof(struct wlan_bssid_ex));
+ bssid = kzalloc(sizeof(struct wlan_bssid_ex), GFP_ATOMIC);
if (!bssid)
return _FAIL;

diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c
index 4a5393184737..408d2b9955b9 100644
--- a/drivers/staging/r8188eu/core/rtw_xmit.c
+++ b/drivers/staging/r8188eu/core/rtw_xmit.c
@@ -1625,7 +1625,7 @@ void rtw_alloc_hwxmits(struct adapter *padapter)

pxmitpriv->hwxmit_entry = HWXMIT_ENTRY;

- pxmitpriv->hwxmits = (struct hw_xmit *)rtw_zmalloc(sizeof(struct hw_xmit) * pxmitpriv->hwxmit_entry);
+ pxmitpriv->hwxmits = kzalloc(sizeof(struct hw_xmit) * pxmitpriv->hwxmit_entry, GFP_KERNEL);

hwxmits = pxmitpriv->hwxmits;

diff --git a/drivers/staging/r8188eu/hal/rtl8188e_cmd.c b/drivers/staging/r8188eu/hal/rtl8188e_cmd.c
index 4bd471873531..303661258e9c 100644
--- a/drivers/staging/r8188eu/hal/rtl8188e_cmd.c
+++ b/drivers/staging/r8188eu/hal/rtl8188e_cmd.c
@@ -489,7 +489,7 @@ static void SetFwRsvdPagePkt(struct adapter *adapt, bool bDLFinished)
struct rsvdpage_loc RsvdPageLoc;

DBG_88E("%s\n", __func__);
- ReservedPagePacket = (u8 *)rtw_zmalloc(1000);
+ ReservedPagePacket = kzalloc(1000, GFP_KERNEL);
if (ReservedPagePacket == NULL) {
DBG_88E("%s: alloc ReservedPagePacket fail!\n", __func__);
return;
diff --git a/drivers/staging/r8188eu/hal/rtl8188e_cmd.c.rej b/drivers/staging/r8188eu/hal/rtl8188e_cmd.c.rej
new file mode 100644
index 000000000000..eaf3d40646fb
--- /dev/null
+++ b/drivers/staging/r8188eu/hal/rtl8188e_cmd.c.rej
@@ -0,0 +1,11 @@
+--- drivers/staging/r8188eu/hal/rtl8188e_cmd.c
++++ drivers/staging/r8188eu/hal/rtl8188e_cmd.c
+@@ -489,7 +489,7 @@ static void SetFwRsvdPagePkt(struct adap
+ struct rsvdpage_loc RsvdPageLoc;
+
+ DBG_88E("%s\n", __func__);
+- ReservedPagePacket = (u8 *)rtw_zmalloc(1000);
++ ReservedPagePacket = kzalloc(1000, GFP_KERNEL);
+ if (ReservedPagePacket == NULL) {
+ DBG_88E("%s: alloc ReservedPagePacket fail!\n", __func__);
+ return;
diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
index 1a7a62dd8504..62d8a7ca3a9a 100644
--- a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
+++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
@@ -76,13 +76,13 @@ efuse_phymap_to_logical(u8 *phymap, u16 _offset, u16 _size_byte, u8 *pbuf)
u16 efuse_utilized = 0;
u8 u1temp = 0;

- efuseTbl = (u8 *)rtw_zmalloc(EFUSE_MAP_LEN_88E);
+ efuseTbl = kzalloc(EFUSE_MAP_LEN_88E, GFP_KERNEL);
if (efuseTbl == NULL) {
DBG_88E("%s: alloc efuseTbl fail!\n", __func__);
goto exit;
}

- eFuseWord = (u16 **)rtw_malloc2d(EFUSE_MAX_SECTION_88E, EFUSE_MAX_WORD_UNIT, sizeof(u16));
+ eFuseWord = rtw_malloc2d(EFUSE_MAX_SECTION_88E, EFUSE_MAX_WORD_UNIT, sizeof(u16));
if (eFuseWord == NULL) {
DBG_88E("%s: alloc eFuseWord fail!\n", __func__);
goto exit;
@@ -810,13 +810,13 @@ static void Hal_EfuseReadEFuse88E(struct adapter *Adapter,
goto exit;
}

- efuseTbl = (u8 *)rtw_zmalloc(EFUSE_MAP_LEN_88E);
+ efuseTbl = kzalloc(EFUSE_MAP_LEN_88E, GFP_KERNEL);
if (efuseTbl == NULL) {
DBG_88E("%s: alloc efuseTbl fail!\n", __func__);
goto exit;
}

- eFuseWord = (u16 **)rtw_malloc2d(EFUSE_MAX_SECTION_88E, EFUSE_MAX_WORD_UNIT, sizeof(u16));
+ eFuseWord = rtw_malloc2d(EFUSE_MAX_SECTION_88E, EFUSE_MAX_WORD_UNIT, sizeof(u16));
if (eFuseWord == NULL) {
DBG_88E("%s: alloc eFuseWord fail!\n", __func__);
goto exit;
diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c.rej b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c.rej
new file mode 100644
index 000000000000..9d344b641344
--- /dev/null
+++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c.rej
@@ -0,0 +1,34 @@
+--- drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
++++ drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
+@@ -76,13 +76,13 @@ efuse_phymap_to_logical(u8 *phymap, u16
+ u16 efuse_utilized = 0;
+ u8 u1temp = 0;
+
+- efuseTbl = (u8 *)rtw_zmalloc(EFUSE_MAP_LEN_88E);
++ efuseTbl = kzalloc(EFUSE_MAP_LEN_88E, GFP_KERNEL);
+ if (efuseTbl == NULL) {
+ DBG_88E("%s: alloc efuseTbl fail!\n", __func__);
+ goto exit;
+ }
+
+- eFuseWord = (u16 **)rtw_malloc2d(EFUSE_MAX_SECTION_88E, EFUSE_MAX_WORD_UNIT, sizeof(u16));
++ eFuseWord = rtw_malloc2d(EFUSE_MAX_SECTION_88E, EFUSE_MAX_WORD_UNIT, sizeof(u16));
+ if (eFuseWord == NULL) {
+ DBG_88E("%s: alloc eFuseWord fail!\n", __func__);
+ goto exit;
+@@ -810,13 +810,13 @@ static void Hal_EfuseReadEFuse88E(struct
+ goto exit;
+ }
+
+- efuseTbl = (u8 *)rtw_zmalloc(EFUSE_MAP_LEN_88E);
++ efuseTbl = kzalloc(EFUSE_MAP_LEN_88E, GFP_KERNEL);
+ if (efuseTbl == NULL) {
+ DBG_88E("%s: alloc efuseTbl fail!\n", __func__);
+ goto exit;
+ }
+
+- eFuseWord = (u16 **)rtw_malloc2d(EFUSE_MAX_SECTION_88E, EFUSE_MAX_WORD_UNIT, sizeof(u16));
++ eFuseWord = rtw_malloc2d(EFUSE_MAX_SECTION_88E, EFUSE_MAX_WORD_UNIT, sizeof(u16));
+ if (eFuseWord == NULL) {
+ DBG_88E("%s: alloc eFuseWord fail!\n", __func__);
+ goto exit;
diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_recv.c b/drivers/staging/r8188eu/hal/rtl8188eu_recv.c
index 2e3f624d0f22..278a89763258 100644
--- a/drivers/staging/r8188eu/hal/rtl8188eu_recv.c
+++ b/drivers/staging/r8188eu/hal/rtl8188eu_recv.c
@@ -44,7 +44,8 @@ int rtl8188eu_init_recv_priv(struct adapter *padapter)
/* init recv_buf */
_rtw_init_queue(&precvpriv->free_recv_buf_queue);

- precvpriv->pallocated_recv_buf = rtw_zmalloc(NR_RECVBUFF * sizeof(struct recv_buf) + 4);
+ precvpriv->pallocated_recv_buf = kzalloc(NR_RECVBUFF * sizeof(struct recv_buf) + 4,
+ GFP_KERNEL);
if (precvpriv->pallocated_recv_buf == NULL) {
res = _FAIL;
RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, ("alloc recv_buf fail!\n"));
diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_recv.c.rej b/drivers/staging/r8188eu/hal/rtl8188eu_recv.c.rej
new file mode 100644
index 000000000000..55f656764485
--- /dev/null
+++ b/drivers/staging/r8188eu/hal/rtl8188eu_recv.c.rej
@@ -0,0 +1,12 @@
+--- drivers/staging/r8188eu/hal/rtl8188eu_recv.c
++++ drivers/staging/r8188eu/hal/rtl8188eu_recv.c
+@@ -44,7 +44,8 @@ int rtl8188eu_init_recv_priv(struct adap
+ /* init recv_buf */
+ _rtw_init_queue(&precvpriv->free_recv_buf_queue);
+
+- precvpriv->pallocated_recv_buf = rtw_zmalloc(NR_RECVBUFF * sizeof(struct recv_buf) + 4);
++ precvpriv->pallocated_recv_buf = kzalloc(NR_RECVBUFF * sizeof(struct recv_buf) + 4,
++ GFP_KERNEL);
+ if (precvpriv->pallocated_recv_buf == NULL) {
+ res = _FAIL;
+ RT_TRACE(_module_rtl871x_recv_c_, _drv_err_, ("alloc recv_buf fail!\n"));
diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8188eu/hal/usb_halinit.c
index d985894c0f30..441080bd0b74 100644
--- a/drivers/staging/r8188eu/hal/usb_halinit.c
+++ b/drivers/staging/r8188eu/hal/usb_halinit.c
@@ -2252,7 +2252,7 @@ void rtl8188eu_set_hal_ops(struct adapter *adapt)
{
struct hal_ops *halfunc = &adapt->HalFunc;

- adapt->HalData = rtw_zmalloc(sizeof(struct hal_data_8188e));
+ adapt->HalData = kzalloc(sizeof(struct hal_data_8188e), GFP_KERNEL);
if (adapt->HalData == NULL)
DBG_88E("cant not alloc memory for HAL DATA\n");
adapt->hal_data_sz = sizeof(struct hal_data_8188e);
diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c.rej b/drivers/staging/r8188eu/hal/usb_halinit.c.rej
new file mode 100644
index 000000000000..ea8027b55821
--- /dev/null
+++ b/drivers/staging/r8188eu/hal/usb_halinit.c.rej
@@ -0,0 +1,11 @@
+--- drivers/staging/r8188eu/hal/usb_halinit.c
++++ drivers/staging/r8188eu/hal/usb_halinit.c
+@@ -2252,7 +2252,7 @@ void rtl8188eu_set_hal_ops(struct adapte
+ {
+ struct hal_ops *halfunc = &adapt->HalFunc;
+
+- adapt->HalData = rtw_zmalloc(sizeof(struct hal_data_8188e));
++ adapt->HalData = kzalloc(sizeof(struct hal_data_8188e), GFP_KERNEL);
+ if (adapt->HalData == NULL)
+ DBG_88E("cant not alloc memory for HAL DATA\n");
+ adapt->hal_data_sz = sizeof(struct hal_data_8188e);
diff --git a/drivers/staging/r8188eu/include/odm_precomp.h.rej b/drivers/staging/r8188eu/include/odm_precomp.h.rej
new file mode 100644
index 000000000000..31b7babc4910
--- /dev/null
+++ b/drivers/staging/r8188eu/include/odm_precomp.h.rej
@@ -0,0 +1,19 @@
+--- drivers/staging/r8188eu/include/odm_precomp.h
++++ drivers/staging/r8188eu/include/odm_precomp.h
+@@ -35,8 +35,6 @@
+ #include "odm_RegConfig8188E.h"
+ #include "odm_RTL8188E.h"
+
+-void odm_CmnInfoHook_Debug(struct odm_dm_struct *pDM_Odm);
+-void odm_CmnInfoInit_Debug(struct odm_dm_struct *pDM_Odm);
+ void odm_DIGInit(struct odm_dm_struct *pDM_Odm);
+ void odm_RateAdaptiveMaskInit(struct odm_dm_struct *pDM_Odm);
+ void odm_DynamicBBPowerSavingInit(struct odm_dm_struct *pDM_Odm);
+@@ -45,7 +43,6 @@ void odm_TXPowerTrackingInit(struct odm_
+ void ODM_EdcaTurboInit(struct odm_dm_struct *pDM_Odm);
+ void odm_SwAntDivInit_NIC(struct odm_dm_struct *pDM_Odm);
+ void odm_GlobalAdapterCheck(void);
+-void odm_CmnInfoUpdate_Debug(struct odm_dm_struct *pDM_Odm);
+ void odm_CommonInfoSelfUpdate(struct odm_dm_struct *pDM_Odm);
+ void odm_FalseAlarmCounterStatistics(struct odm_dm_struct *pDM_Odm);
+ void odm_DIG(struct odm_dm_struct *pDM_Odm);
diff --git a/drivers/staging/r8188eu/include/osdep_service.h b/drivers/staging/r8188eu/include/osdep_service.h
index 05cbc9b0dadd..30f645d89fe8 100644
--- a/drivers/staging/r8188eu/include/osdep_service.h
+++ b/drivers/staging/r8188eu/include/osdep_service.h
@@ -215,15 +215,9 @@ extern unsigned char RSN_TKIP_CIPHER[4];
u8 *_rtw_vmalloc(u32 sz);
u8 *_rtw_zvmalloc(u32 sz);
void _rtw_vmfree(u8 *pbuf, u32 sz);
-u8 *_rtw_zmalloc(u32 sz);
-u8 *_rtw_malloc(u32 sz);
-void _rtw_mfree(u8 *pbuf, u32 sz);
#define rtw_vmalloc(sz) _rtw_vmalloc((sz))
#define rtw_zvmalloc(sz) _rtw_zvmalloc((sz))
#define rtw_vmfree(pbuf, sz) _rtw_vmfree((pbuf), (sz))
-#define rtw_malloc(sz) _rtw_malloc((sz))
-#define rtw_zmalloc(sz) _rtw_zmalloc((sz))
-#define rtw_mfree(pbuf, sz) _rtw_mfree((pbuf), (sz))

void *rtw_malloc2d(int h, int w, int size);

diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging/r8188eu/os_dep/ioctl_linux.c
index 8ba2b81e32b8..5f4355cb03e7 100644
--- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c
+++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c
@@ -522,7 +522,7 @@ static int wpa_set_encryption(struct net_device *dev, struct ieee_param *param,
if (wep_key_len > 0) {
wep_key_len = wep_key_len <= 5 ? 5 : 13;
wep_total_len = wep_key_len + FIELD_OFFSET(struct ndis_802_11_wep, KeyMaterial);
- pwep = (struct ndis_802_11_wep *)rtw_malloc(wep_total_len);
+ pwep = kmalloc(wep_total_len, GFP_KERNEL);
if (!pwep) {
RT_TRACE(_module_rtl871x_ioctl_os_c, _drv_err_, (" wpa_set_encryption: pwep allocate fail !!!\n"));
goto exit;
@@ -642,7 +642,7 @@ static int rtw_set_wpa_ie(struct adapter *padapter, char *pie, unsigned short ie
}

if (ielen) {
- buf = rtw_zmalloc(ielen);
+ buf = kzalloc(ielen, GFP_KERNEL);
if (!buf) {
ret = -ENOMEM;
goto exit;
@@ -2109,11 +2109,9 @@ static int rtw_wx_set_enc_ext(struct net_device *dev,
int ret = 0;

param_len = sizeof(struct ieee_param) + pext->key_len;
- param = (struct ieee_param *)rtw_malloc(param_len);
+ param = kzalloc(param_len, GFP_KERNEL);
if (!param)
- return -1;
-
- memset(param, 0, param_len);
+ return -ENOMEM;

param->cmd = IEEE_CMD_SET_ENCRYPTION;
memset(param->sta_addr, 0xff, ETH_ALEN);
@@ -2194,8 +2192,8 @@ static int rtw_wx_read32(struct net_device *dev,
padapter = (struct adapter *)rtw_netdev_priv(dev);
p = &wrqu->data;
len = p->length;
- ptmp = (u8 *)rtw_malloc(len);
- if (NULL == ptmp)
+ ptmp = kmalloc(len, GFP_KERNEL);
+ if (!ptmp)
return -ENOMEM;

if (copy_from_user(ptmp, p->pointer, len)) {
@@ -2464,7 +2462,7 @@ static int rtw_mp_ioctl_hdl(struct net_device *dev, struct iw_request_info *info
pparmbuf = NULL;
bset = (u8)(p->flags & 0xFFFF);
len = p->length;
- pparmbuf = (u8 *)rtw_malloc(len);
+ pparmbuf = kmalloc(len, GFP_KERNEL);
if (!pparmbuf) {
ret = -ENOMEM;
goto _rtw_mp_ioctl_hdl_exit;
@@ -4674,7 +4672,7 @@ static int wpa_supplicant_ioctl(struct net_device *dev, struct iw_point *p)
goto out;
}

- param = (struct ieee_param *)rtw_malloc(p->length);
+ param = kmalloc(p->length, GFP_KERNEL);
if (!param) {
ret = -ENOMEM;
goto out;
@@ -4728,13 +4726,13 @@ static u8 set_pairwise_key(struct adapter *padapter, struct sta_info *psta)
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
u8 res = _SUCCESS;

- ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
if (!ph2c) {
res = _FAIL;
goto exit;
}

- psetstakey_para = (struct set_stakey_parm *)rtw_zmalloc(sizeof(struct set_stakey_parm));
+ psetstakey_para = kzalloc(sizeof(struct set_stakey_parm), GFP_KERNEL);
if (!psetstakey_para) {
kfree(ph2c);
res = _FAIL;
@@ -4766,12 +4764,12 @@ static int set_group_key(struct adapter *padapter, u8 *key, u8 alg, int keyid)

DBG_88E("%s\n", __func__);

- pcmd = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+ pcmd = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
if (!pcmd) {
res = _FAIL;
goto exit;
}
- psetkeyparm = (struct setkey_parm *)rtw_zmalloc(sizeof(struct setkey_parm));
+ psetkeyparm = kzalloc(sizeof(struct setkey_parm), GFP_KERNEL);
if (!psetkeyparm) {
kfree(pcmd);
res = _FAIL;
@@ -4887,14 +4885,11 @@ static int rtw_set_encryption(struct net_device *dev, struct ieee_param *param,
if (wep_key_len > 0) {
wep_key_len = wep_key_len <= 5 ? 5 : 13;
wep_total_len = wep_key_len + FIELD_OFFSET(struct ndis_802_11_wep, KeyMaterial);
- pwep = (struct ndis_802_11_wep *)rtw_malloc(wep_total_len);
+ pwep = kzalloc(wep_total_len, GFP_KERNEL);
if (!pwep) {
- DBG_88E(" r871x_set_encryption: pwep allocate fail !!!\n");
+ ret = -ENOMEM;
goto exit;
}
-
- memset(pwep, 0, wep_total_len);
-
pwep->KeyLength = wep_key_len;
pwep->Length = wep_total_len;
}
@@ -5315,7 +5310,7 @@ static int rtw_set_wps_beacon(struct net_device *dev, struct ieee_param *param,
}

if (ie_len > 0) {
- pmlmepriv->wps_beacon_ie = rtw_malloc(ie_len);
+ pmlmepriv->wps_beacon_ie = kmalloc(ie_len, GFP_KERNEL);
pmlmepriv->wps_beacon_ie_len = ie_len;
if (!pmlmepriv->wps_beacon_ie) {
DBG_88E("%s()-%d: rtw_malloc() ERROR!\n", __func__, __LINE__);
@@ -5352,7 +5347,7 @@ static int rtw_set_wps_probe_resp(struct net_device *dev, struct ieee_param *par
}

if (ie_len > 0) {
- pmlmepriv->wps_probe_resp_ie = rtw_malloc(ie_len);
+ pmlmepriv->wps_probe_resp_ie = kmalloc(ie_len, GFP_KERNEL);
pmlmepriv->wps_probe_resp_ie_len = ie_len;
if (!pmlmepriv->wps_probe_resp_ie) {
DBG_88E("%s()-%d: rtw_malloc() ERROR!\n", __func__, __LINE__);
@@ -5384,11 +5379,11 @@ static int rtw_set_wps_assoc_resp(struct net_device *dev, struct ieee_param *par
}

if (ie_len > 0) {
- pmlmepriv->wps_assoc_resp_ie = rtw_malloc(ie_len);
+ pmlmepriv->wps_assoc_resp_ie = kmalloc(ie_len, GFP_KERNEL);
pmlmepriv->wps_assoc_resp_ie_len = ie_len;
if (!pmlmepriv->wps_assoc_resp_ie) {
DBG_88E("%s()-%d: rtw_malloc() ERROR!\n", __func__, __LINE__);
- return -EINVAL;
+ return -ENOMEM;
}

memcpy(pmlmepriv->wps_assoc_resp_ie, param->u.bcn_ie.buf, ie_len);
@@ -5491,7 +5486,7 @@ static int rtw_hostapd_ioctl(struct net_device *dev, struct iw_point *p)
goto out;
}

- param = (struct ieee_param *)rtw_malloc(p->length);
+ param = kmalloc(p->length, GFP_KERNEL);
if (!param) {
ret = -ENOMEM;
goto out;
@@ -5600,9 +5595,8 @@ static int rtw_wx_set_priv(struct net_device *dev,
kfree(pmlmepriv->wps_probe_req_ie);
pmlmepriv->wps_probe_req_ie = NULL;

- pmlmepriv->wps_probe_req_ie = rtw_malloc(cp_sz);
+ pmlmepriv->wps_probe_req_ie = kmalloc(cp_sz, GFP_KERNEL);
if (!pmlmepriv->wps_probe_req_ie) {
- pr_info("%s()-%d: rtw_malloc() ERROR!\n", __func__, __LINE__);
ret = -EINVAL;
goto FREE_EXT;
}
@@ -5674,12 +5668,12 @@ static int rtw_mp_efuse_get(struct net_device *dev,
pEfuseHal = &haldata->EfuseHal;

err = 0;
- data = _rtw_zmalloc(EFUSE_BT_MAX_MAP_LEN);
+ data = kzalloc(EFUSE_BT_MAX_MAP_LEN, GFP_KERNEL);
if (!data) {
err = -ENOMEM;
goto exit;
}
- rawdata = _rtw_zmalloc(EFUSE_BT_MAX_MAP_LEN);
+ rawdata = kzalloc(EFUSE_BT_MAX_MAP_LEN, GFP_KERNEL);
if (!rawdata) {
err = -ENOMEM;
goto exit;
@@ -5989,22 +5983,22 @@ static int rtw_mp_efuse_set(struct net_device *dev,
haldata = GET_HAL_DATA(padapter);
pEfuseHal = &haldata->EfuseHal;
err = 0;
- setdata = _rtw_zmalloc(1024);
+ setdata = kzalloc(1024, GFP_KERNEL);
if (!setdata) {
err = -ENOMEM;
goto exit;
}
- ShadowMapBT = _rtw_malloc(EFUSE_BT_MAX_MAP_LEN);
+ ShadowMapBT = kmalloc(EFUSE_BT_MAX_MAP_LEN, GFP_KERNEL);
if (!ShadowMapBT) {
err = -ENOMEM;
goto exit;
}
- ShadowMapWiFi = _rtw_malloc(EFUSE_MAP_SIZE);
+ ShadowMapWiFi = kmalloc(EFUSE_MAP_SIZE, GFP_KERNEL);
if (!ShadowMapWiFi) {
err = -ENOMEM;
goto exit;
}
- setrawdata = _rtw_malloc(EFUSE_MAX_SIZE);
+ setrawdata = kmalloc(EFUSE_MAX_SIZE, GFP_KERNEL);
if (!setrawdata) {
err = -ENOMEM;
goto exit;
@@ -7486,7 +7480,7 @@ static int rtw_test(
DBG_88E("+%s\n", __func__);
len = wrqu->data.length;

- pbuf = (u8 *)rtw_zmalloc(len);
+ pbuf = kzalloc(len, GFP_KERNEL);
if (!pbuf) {
DBG_88E("%s: no memory!\n", __func__);
return -ENOMEM;
@@ -7832,7 +7826,7 @@ static int rtw_ioctl_wext_private(struct net_device *dev, union iwreq_data *wrq_
input_len = wdata.data.length;
if (input_len == 0)
return -EFAULT;
- input = rtw_zmalloc(input_len);
+ input = kzalloc(input_len, GFP_KERNEL);
if (NULL == input)
return -ENOMEM;
if (copy_from_user(input, wdata.data.pointer, input_len)) {
@@ -7895,7 +7889,7 @@ static int rtw_ioctl_wext_private(struct net_device *dev, union iwreq_data *wrq_
k = j;
}

- buffer = rtw_zmalloc(4096);
+ buffer = kzalloc(4096, GFP_KERNEL);
if (NULL == buffer) {
err = -ENOMEM;
goto exit;
@@ -8044,7 +8038,7 @@ static int rtw_ioctl_wext_private(struct net_device *dev, union iwreq_data *wrq_
else
n = wdata.data.length;

- output = rtw_zmalloc(4096);
+ output = kzalloc(4096, GFP_KERNEL);
if (NULL == output) {
err = -ENOMEM;
goto exit;
diff --git a/drivers/staging/r8188eu/os_dep/mlme_linux.c b/drivers/staging/r8188eu/os_dep/mlme_linux.c
index 766b346afbb8..0855b218f7b1 100644
--- a/drivers/staging/r8188eu/os_dep/mlme_linux.c
+++ b/drivers/staging/r8188eu/os_dep/mlme_linux.c
@@ -119,10 +119,9 @@ void rtw_report_sec_ie(struct adapter *adapter, u8 authmode, u8 *sec_ie)
if (authmode == _WPA_IE_ID_) {
RT_TRACE(_module_mlme_osdep_c_, _drv_info_,
("rtw_report_sec_ie, authmode=%d\n", authmode));
- buff = rtw_malloc(IW_CUSTOM_MAX);
+ buff = kzalloc(IW_CUSTOM_MAX, GFP_KERNEL);
if (!buff)
return;
- memset(buff, 0, IW_CUSTOM_MAX);
p = buff;
p += sprintf(p, "ASSOCINFO(ReqIEs =");
len = sec_ie[1]+2;
diff --git a/drivers/staging/r8188eu/os_dep/osdep_service.c b/drivers/staging/r8188eu/os_dep/osdep_service.c
index 99ddc535e5ea..d537f6352fc5 100644
--- a/drivers/staging/r8188eu/os_dep/osdep_service.c
+++ b/drivers/staging/r8188eu/os_dep/osdep_service.c
@@ -58,32 +58,13 @@ inline void _rtw_vmfree(u8 *pbuf, u32 sz)
vfree(pbuf);
}

-u8 *_rtw_malloc(u32 sz)
-{
- u8 *pbuf = NULL;
-
- pbuf = kmalloc(sz, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL);
- return pbuf;
-}
-
-u8 *_rtw_zmalloc(u32 sz)
-{
- u8 *pbuf = _rtw_malloc(sz);
-
- if (pbuf)
- memset(pbuf, 0, sz);
- return pbuf;
-}
-
void *rtw_malloc2d(int h, int w, int size)
{
int j;

- void **a = (void **)rtw_zmalloc(h*sizeof(void *) + h*w*size);
- if (!a) {
- pr_info("%s: alloc memory fail!\n", __func__);
+ void **a = kzalloc(h * sizeof(void *) + h * w * size, GFP_KERNEL);
+ if (!a)
return NULL;
- }

for (j = 0; j < h; j++)
a[j] = ((char *)(a+h)) + j*w*size;
@@ -401,7 +382,7 @@ void rtw_buf_update(u8 **buf, u32 *buf_len, u8 *src, u32 src_len)
goto keep_ori;

/* duplicate src */
- dup = rtw_malloc(src_len);
+ dup = kmalloc(src_len, GFP_ATOMIC);
if (dup) {
dup_len = src_len;
memcpy(dup, src, dup_len);
@@ -494,8 +475,7 @@ struct rtw_cbuf *rtw_cbuf_alloc(u32 size)
{
struct rtw_cbuf *cbuf;

- cbuf = (struct rtw_cbuf *)rtw_malloc(sizeof(*cbuf) +
- sizeof(void *)*size);
+ cbuf = kmalloc(sizeof(*cbuf) + sizeof(void *)*size, GFP_KERNEL);

if (cbuf) {
cbuf->write = 0;
diff --git a/drivers/staging/r8188eu/os_dep/usb_intf.c b/drivers/staging/r8188eu/os_dep/usb_intf.c
index bc7f4bd7ce0b..270de35f1d35 100644
--- a/drivers/staging/r8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/r8188eu/os_dep/usb_intf.c
@@ -118,7 +118,7 @@ static u8 rtw_init_intf_priv(struct dvobj_priv *dvobj)

_rtw_mutex_init(&dvobj->usb_vendor_req_mutex);

- dvobj->usb_alloc_vendor_req_buf = rtw_zmalloc(MAX_USB_IO_CTL_SIZE);
+ dvobj->usb_alloc_vendor_req_buf = kzalloc(MAX_USB_IO_CTL_SIZE, GFP_KERNEL);
if (!dvobj->usb_alloc_vendor_req_buf) {
DBG_88E("alloc usb_vendor_req_buf failed... /n");
rst = _FAIL;
@@ -150,7 +150,7 @@ static struct dvobj_priv *usb_dvobj_init(struct usb_interface *usb_intf)
struct usb_endpoint_descriptor *pendp_desc;
struct usb_device *pusbd;

- pdvobjpriv = (struct dvobj_priv *)rtw_zmalloc(sizeof(*pdvobjpriv));
+ pdvobjpriv = kzalloc(sizeof(*pdvobjpriv), GFP_KERNEL);
if (!pdvobjpriv)
goto exit;

diff --git a/drivers/staging/r8188eu/os_dep/xmit_linux.c b/drivers/staging/r8188eu/os_dep/xmit_linux.c
index 421328173984..df9bdbff91ac 100644
--- a/drivers/staging/r8188eu/os_dep/xmit_linux.c
+++ b/drivers/staging/r8188eu/os_dep/xmit_linux.c
@@ -76,7 +76,7 @@ int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *pxmitb
{
int i;

- pxmitbuf->pallocated_buf = rtw_zmalloc(alloc_sz);
+ pxmitbuf->pallocated_buf = kzalloc(alloc_sz, GFP_KERNEL);
if (!pxmitbuf->pallocated_buf)
return _FAIL;

diff --git a/drivers/staging/r8188eu/os_dep/xmit_linux.c.rej b/drivers/staging/r8188eu/os_dep/xmit_linux.c.rej
new file mode 100644
index 000000000000..285ff79b6ce5
--- /dev/null
+++ b/drivers/staging/r8188eu/os_dep/xmit_linux.c.rej
@@ -0,0 +1,11 @@
+--- drivers/staging/r8188eu/os_dep/xmit_linux.c
++++ drivers/staging/r8188eu/os_dep/xmit_linux.c
+@@ -76,7 +76,7 @@ int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *pxmitb
+ {
+ int i;
+
+- pxmitbuf->pallocated_buf = rtw_zmalloc(alloc_sz);
++ pxmitbuf->pallocated_buf = kzalloc(alloc_sz, GFP_KERNEL);
+ if (pxmitbuf->pallocated_buf == NULL)
+ return _FAIL;
+
--
2.32.0


2021-08-02 15:17:48

by Larry Finger

[permalink] [raw]
Subject: [PATCH 6/6] staging: r8188eu: Remove more empty routines

After removing some empty routines in os_dep/osdep_service.c, new routines
become empty. These include rtw_mfree_stainfo(),
_rtw_free_sta_xmit_priv_lock(), and rtw_mfree_recv_priv_lock.

Signed-off-by: Larry Finger <[email protected]>
---
drivers/staging/r8188eu/core/rtw_recv.c | 6 ------
drivers/staging/r8188eu/core/rtw_sta_mgt.c | 18 ------------------
2 files changed, 24 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r8188eu/core/rtw_recv.c
index a4cb08d41b8c..7f12b494b949 100644
--- a/drivers/staging/r8188eu/core/rtw_recv.c
+++ b/drivers/staging/r8188eu/core/rtw_recv.c
@@ -96,18 +96,12 @@ int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter)
return res;
}

-static void rtw_mfree_recv_priv_lock(struct recv_priv *precvpriv)
-{
-}
-
void _rtw_free_recv_priv (struct recv_priv *precvpriv)
{
struct adapter *padapter = precvpriv->adapter;

rtw_free_uc_swdec_pending_queue(padapter);

- rtw_mfree_recv_priv_lock(precvpriv);
-
rtw_os_recv_resource_free(precvpriv);

vfree(precvpriv->pallocated_frame_buf);
diff --git a/drivers/staging/r8188eu/core/rtw_sta_mgt.c b/drivers/staging/r8188eu/core/rtw_sta_mgt.c
index 29df34fd74f1..f60cd4420ea4 100644
--- a/drivers/staging/r8188eu/core/rtw_sta_mgt.c
+++ b/drivers/staging/r8188eu/core/rtw_sta_mgt.c
@@ -127,24 +127,6 @@ inline struct sta_info *rtw_get_stainfo_by_offset(struct sta_priv *stapriv, int
return (struct sta_info *)(stapriv->pstainfo_buf + offset * sizeof(struct sta_info));
}

-void _rtw_free_sta_xmit_priv_lock(struct sta_xmit_priv *psta_xmitpriv);
-void _rtw_free_sta_xmit_priv_lock(struct sta_xmit_priv *psta_xmitpriv)
-{
-}
-
-static void _rtw_free_sta_recv_priv_lock(struct sta_recv_priv *psta_recvpriv)
-{
-}
-
-void rtw_mfree_stainfo(struct sta_info *psta);
-void rtw_mfree_stainfo(struct sta_info *psta)
-{
-
- _rtw_free_sta_xmit_priv_lock(&psta->sta_xmitpriv);
- _rtw_free_sta_recv_priv_lock(&psta->sta_recvpriv);
-
-}
-
/* this function is used to free the memory of lock || sema for all stainfos */
void rtw_mfree_all_stainfo(struct sta_priv *pstapriv);
void rtw_mfree_all_stainfo(struct sta_priv *pstapriv)
--
2.32.0


2021-08-02 15:17:56

by Larry Finger

[permalink] [raw]
Subject: [PATCH 5/6] staging: r8188eu: Remove all calls to _rtw_spinlock_free()

This routine is empty, thus all calls to it can be removed.

Signed-off-by: Larry Finger <[email protected]>
---
drivers/staging/r8188eu/core/rtw_cmd.c | 3 --
drivers/staging/r8188eu/core/rtw_mlme.c | 3 --
drivers/staging/r8188eu/core/rtw_recv.c | 5 ----
drivers/staging/r8188eu/core/rtw_sta_mgt.c | 28 -------------------
drivers/staging/r8188eu/core/rtw_xmit.c | 14 ----------
.../staging/r8188eu/include/osdep_service.h | 1 -
drivers/staging/r8188eu/os_dep/os_intfs.c | 2 --
.../staging/r8188eu/os_dep/osdep_service.c | 4 ---
8 files changed, 60 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188eu/core/rtw_cmd.c
index 35222a10b10c..566b4e04a3ee 100644
--- a/drivers/staging/r8188eu/core/rtw_cmd.c
+++ b/drivers/staging/r8188eu/core/rtw_cmd.c
@@ -96,15 +96,12 @@ void _rtw_free_cmd_priv (struct cmd_priv *pcmdpriv)
{

if (pcmdpriv) {
- _rtw_spinlock_free(&(pcmdpriv->cmd_queue.lock));
-
if (pcmdpriv->cmd_allocated_buf)
kfree(pcmdpriv->cmd_allocated_buf);

if (pcmdpriv->rsp_allocated_buf)
kfree(pcmdpriv->rsp_allocated_buf);
}
-
}

/*
diff --git a/drivers/staging/r8188eu/core/rtw_mlme.c b/drivers/staging/r8188eu/core/rtw_mlme.c
index 5f8e58a0372a..a36283e47fda 100644
--- a/drivers/staging/r8188eu/core/rtw_mlme.c
+++ b/drivers/staging/r8188eu/core/rtw_mlme.c
@@ -87,9 +87,6 @@ int _rtw_init_mlme_priv (struct adapter *padapter)

static void rtw_mfree_mlme_priv_lock (struct mlme_priv *pmlmepriv)
{
- _rtw_spinlock_free(&pmlmepriv->lock);
- _rtw_spinlock_free(&(pmlmepriv->free_bss_pool.lock));
- _rtw_spinlock_free(&(pmlmepriv->scanned_queue.lock));
}

#if defined (CONFIG_88EU_AP_MODE)
diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r8188eu/core/rtw_recv.c
index 08e095cd08b8..a4cb08d41b8c 100644
--- a/drivers/staging/r8188eu/core/rtw_recv.c
+++ b/drivers/staging/r8188eu/core/rtw_recv.c
@@ -98,11 +98,6 @@ int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter)

static void rtw_mfree_recv_priv_lock(struct recv_priv *precvpriv)
{
- _rtw_spinlock_free(&precvpriv->lock);
- _rtw_spinlock_free(&precvpriv->free_recv_queue.lock);
- _rtw_spinlock_free(&precvpriv->recv_pending_queue.lock);
-
- _rtw_spinlock_free(&precvpriv->free_recv_buf_queue.lock);
}

void _rtw_free_recv_priv (struct recv_priv *precvpriv)
diff --git a/drivers/staging/r8188eu/core/rtw_sta_mgt.c b/drivers/staging/r8188eu/core/rtw_sta_mgt.c
index 3b1a6a689d95..29df34fd74f1 100644
--- a/drivers/staging/r8188eu/core/rtw_sta_mgt.c
+++ b/drivers/staging/r8188eu/core/rtw_sta_mgt.c
@@ -130,32 +130,16 @@ inline struct sta_info *rtw_get_stainfo_by_offset(struct sta_priv *stapriv, int
void _rtw_free_sta_xmit_priv_lock(struct sta_xmit_priv *psta_xmitpriv);
void _rtw_free_sta_xmit_priv_lock(struct sta_xmit_priv *psta_xmitpriv)
{
-
- _rtw_spinlock_free(&psta_xmitpriv->lock);
-
- _rtw_spinlock_free(&(psta_xmitpriv->be_q.sta_pending.lock));
- _rtw_spinlock_free(&(psta_xmitpriv->bk_q.sta_pending.lock));
- _rtw_spinlock_free(&(psta_xmitpriv->vi_q.sta_pending.lock));
- _rtw_spinlock_free(&(psta_xmitpriv->vo_q.sta_pending.lock));
-
}

static void _rtw_free_sta_recv_priv_lock(struct sta_recv_priv *psta_recvpriv)
{
-
- _rtw_spinlock_free(&psta_recvpriv->lock);
-
- _rtw_spinlock_free(&(psta_recvpriv->defrag_q.lock));
-
}

void rtw_mfree_stainfo(struct sta_info *psta);
void rtw_mfree_stainfo(struct sta_info *psta)
{

- if (&psta->lock != NULL)
- _rtw_spinlock_free(&psta->lock);
-
_rtw_free_sta_xmit_priv_lock(&psta->sta_xmitpriv);
_rtw_free_sta_recv_priv_lock(&psta->sta_recvpriv);

@@ -188,18 +172,6 @@ static void rtw_mfree_sta_priv_lock(struct sta_priv *pstapriv)
#endif

rtw_mfree_all_stainfo(pstapriv); /* be done before free sta_hash_lock */
-
- _rtw_spinlock_free(&pstapriv->free_sta_queue.lock);
-
- _rtw_spinlock_free(&pstapriv->sta_hash_lock);
- _rtw_spinlock_free(&pstapriv->wakeup_q.lock);
- _rtw_spinlock_free(&pstapriv->sleep_q.lock);
-
-#ifdef CONFIG_88EU_AP_MODE
- _rtw_spinlock_free(&pstapriv->asoc_list_lock);
- _rtw_spinlock_free(&pstapriv->auth_list_lock);
- _rtw_spinlock_free(&pacl_list->acl_node_q.lock);
-#endif
}

u32 _rtw_free_sta_priv(struct sta_priv *pstapriv)
diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c
index 87aa45c0305a..60cb91d1057a 100644
--- a/drivers/staging/r8188eu/core/rtw_xmit.c
+++ b/drivers/staging/r8188eu/core/rtw_xmit.c
@@ -212,17 +212,6 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)

static void rtw_mfree_xmit_priv_lock (struct xmit_priv *pxmitpriv)
{
- _rtw_spinlock_free(&pxmitpriv->lock);
-
- _rtw_spinlock_free(&pxmitpriv->be_pending.lock);
- _rtw_spinlock_free(&pxmitpriv->bk_pending.lock);
- _rtw_spinlock_free(&pxmitpriv->vi_pending.lock);
- _rtw_spinlock_free(&pxmitpriv->vo_pending.lock);
- _rtw_spinlock_free(&pxmitpriv->bm_pending.lock);
-
- _rtw_spinlock_free(&pxmitpriv->free_xmit_queue.lock);
- _rtw_spinlock_free(&pxmitpriv->free_xmitbuf_queue.lock);
- _rtw_spinlock_free(&pxmitpriv->pending_xmitbuf_queue.lock);
}

void _rtw_free_xmit_priv (struct xmit_priv *pxmitpriv)
@@ -256,9 +245,6 @@ void _rtw_free_xmit_priv (struct xmit_priv *pxmitpriv)

vfree(pxmitpriv->pallocated_xmitbuf);

- /* free xmit extension buff */
- _rtw_spinlock_free(&pxmitpriv->free_xmit_extbuf_queue.lock);
-
pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmit_extbuf;
for (i = 0; i < num_xmit_extbuf; i++) {
rtw_os_xmit_resource_free(padapter, pxmitbuf, (max_xmit_extbuf_size + XMITBUF_ALIGN_SZ));
diff --git a/drivers/staging/r8188eu/include/osdep_service.h b/drivers/staging/r8188eu/include/osdep_service.h
index 23aef493b601..c14bc87323da 100644
--- a/drivers/staging/r8188eu/include/osdep_service.h
+++ b/drivers/staging/r8188eu/include/osdep_service.h
@@ -222,7 +222,6 @@ void *rtw_malloc2d(int h, int w, int size);
u32 _rtw_down_sema(struct semaphore *sema);
void _rtw_mutex_init(struct mutex *pmutex);
void _rtw_mutex_free(struct mutex *pmutex);
-void _rtw_spinlock_free(spinlock_t *plock);

void _rtw_init_queue(struct __queue *pqueue);

diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c
index 5f1ec883d6ed..935e35c82666 100644
--- a/drivers/staging/r8188eu/os_dep/os_intfs.c
+++ b/drivers/staging/r8188eu/os_dep/os_intfs.c
@@ -979,8 +979,6 @@ u8 rtw_free_drv_sw(struct adapter *padapter)
}
#endif

- _rtw_spinlock_free(&padapter->br_ext_lock);
-
free_mlme_ext_priv(&padapter->mlmeextpriv);

rtw_free_cmd_priv(&padapter->cmdpriv);
diff --git a/drivers/staging/r8188eu/os_dep/osdep_service.c b/drivers/staging/r8188eu/os_dep/osdep_service.c
index 869efcd5531a..4b1f53c93b33 100644
--- a/drivers/staging/r8188eu/os_dep/osdep_service.c
+++ b/drivers/staging/r8188eu/os_dep/osdep_service.c
@@ -94,10 +94,6 @@ void _rtw_mutex_free(struct mutex *pmutex)
mutex_destroy(pmutex);
}

-void _rtw_spinlock_free(spinlock_t *plock)
-{
-}
-
void _rtw_init_queue(struct __queue *pqueue)
{
INIT_LIST_HEAD(&(pqueue->queue));
--
2.32.0


2021-08-02 15:18:12

by Larry Finger

[permalink] [raw]
Subject: [PATCH 3/6] staging: r8188eu: Remove wrappers for atomic operations

These wrappers were useful when this driver had the hooks for Windows,
but are no longer needed.

Signed-off-by: Larry Finger <[email protected]>
---
drivers/staging/r8188eu/core/rtw_cmd.c | 2 +-
drivers/staging/r8188eu/core/rtw_mlme_ext.c | 14 +++---
drivers/staging/r8188eu/include/drv_types.h | 2 +-
.../staging/r8188eu/include/osdep_service.h | 14 ------
drivers/staging/r8188eu/include/rtw_cmd.h | 2 +-
.../staging/r8188eu/include/rtw_mlme_ext.h | 2 +-
drivers/staging/r8188eu/include/usb_ops.h | 4 +-
.../staging/r8188eu/os_dep/osdep_service.c | 50 -------------------
8 files changed, 13 insertions(+), 77 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188eu/core/rtw_cmd.c
index 55971c47c90a..35222a10b10c 100644
--- a/drivers/staging/r8188eu/core/rtw_cmd.c
+++ b/drivers/staging/r8188eu/core/rtw_cmd.c
@@ -64,7 +64,7 @@ int _rtw_init_evt_priv(struct evt_priv *pevtpriv)
int res = _SUCCESS;

/* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */
- ATOMIC_SET(&pevtpriv->event_seq, 0);
+ atomic_set(&pevtpriv->event_seq, 0);
pevtpriv->evt_done_cnt = 0;

_init_workitem(&pevtpriv->c2h_wk, c2h_wk_callback, NULL);
diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
index 045179b4a1d6..d5298a782786 100644
--- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
@@ -204,7 +204,7 @@ static void init_mlme_ext_priv_value(struct adapter *padapter)
_12M_RATE_, _24M_RATE_, 0xff,
};

- ATOMIC_SET(&pmlmeext->event_seq, 0);
+ atomic_set(&pmlmeext->event_seq, 0);
pmlmeext->mgnt_seq = 0;/* reset to zero when disconnect at client mode */

pmlmeext->cur_channel = padapter->registrypriv.channel;
@@ -7013,7 +7013,7 @@ void report_survey_event(struct adapter *padapter, struct recv_frame *precv_fram
pc2h_evt_hdr = (struct C2HEvent_Header *)(pevtcmd);
pc2h_evt_hdr->len = sizeof(struct survey_event);
pc2h_evt_hdr->ID = GEN_EVT_CODE(_Survey);
- pc2h_evt_hdr->seq = ATOMIC_INC_RETURN(&pmlmeext->event_seq);
+ pc2h_evt_hdr->seq = atomic_inc_return(&pmlmeext->event_seq);

psurvey_evt = (struct survey_event *)(pevtcmd + sizeof(struct C2HEvent_Header));

@@ -7065,7 +7065,7 @@ void report_surveydone_event(struct adapter *padapter)
pc2h_evt_hdr = (struct C2HEvent_Header *)(pevtcmd);
pc2h_evt_hdr->len = sizeof(struct surveydone_event);
pc2h_evt_hdr->ID = GEN_EVT_CODE(_SurveyDone);
- pc2h_evt_hdr->seq = ATOMIC_INC_RETURN(&pmlmeext->event_seq);
+ pc2h_evt_hdr->seq = atomic_inc_return(&pmlmeext->event_seq);

psurveydone_evt = (struct surveydone_event *)(pevtcmd + sizeof(struct C2HEvent_Header));
psurveydone_evt->bss_cnt = pmlmeext->sitesurvey_res.bss_cnt;
@@ -7111,7 +7111,7 @@ void report_join_res(struct adapter *padapter, int res)
pc2h_evt_hdr = (struct C2HEvent_Header *)(pevtcmd);
pc2h_evt_hdr->len = sizeof(struct joinbss_event);
pc2h_evt_hdr->ID = GEN_EVT_CODE(_JoinBss);
- pc2h_evt_hdr->seq = ATOMIC_INC_RETURN(&pmlmeext->event_seq);
+ pc2h_evt_hdr->seq = atomic_inc_return(&pmlmeext->event_seq);

pjoinbss_evt = (struct joinbss_event *)(pevtcmd + sizeof(struct C2HEvent_Header));
memcpy((unsigned char *)(&(pjoinbss_evt->network.network)), &(pmlmeinfo->network), sizeof(struct wlan_bssid_ex));
@@ -7162,7 +7162,7 @@ void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr, unsi
pc2h_evt_hdr = (struct C2HEvent_Header *)(pevtcmd);
pc2h_evt_hdr->len = sizeof(struct stadel_event);
pc2h_evt_hdr->ID = GEN_EVT_CODE(_DelSTA);
- pc2h_evt_hdr->seq = ATOMIC_INC_RETURN(&pmlmeext->event_seq);
+ pc2h_evt_hdr->seq = atomic_inc_return(&pmlmeext->event_seq);

pdel_sta_evt = (struct stadel_event *)(pevtcmd + sizeof(struct C2HEvent_Header));
memcpy((unsigned char *)(&(pdel_sta_evt->macaddr)), MacAddr, ETH_ALEN);
@@ -7216,7 +7216,7 @@ void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr, int
pc2h_evt_hdr = (struct C2HEvent_Header *)(pevtcmd);
pc2h_evt_hdr->len = sizeof(struct stassoc_event);
pc2h_evt_hdr->ID = GEN_EVT_CODE(_AddSTA);
- pc2h_evt_hdr->seq = ATOMIC_INC_RETURN(&pmlmeext->event_seq);
+ pc2h_evt_hdr->seq = atomic_inc_return(&pmlmeext->event_seq);

padd_sta_evt = (struct stassoc_event *)(pevtcmd + sizeof(struct C2HEvent_Header));
memcpy((unsigned char *)(&(padd_sta_evt->macaddr)), MacAddr, ETH_ALEN);
@@ -8249,7 +8249,7 @@ u8 mlme_evt_hdl(struct adapter *padapter, unsigned char *pbuf)
goto _abort_event_;
}

- ATOMIC_INC(&pevt_priv->event_seq);
+ atomic_inc(&pevt_priv->event_seq);

peventbuf += 2;

diff --git a/drivers/staging/r8188eu/include/drv_types.h b/drivers/staging/r8188eu/include/drv_types.h
index 8cefb5c288f3..04f4224c11de 100644
--- a/drivers/staging/r8188eu/include/drv_types.h
+++ b/drivers/staging/r8188eu/include/drv_types.h
@@ -178,7 +178,7 @@ struct dvobj_priv {
struct usb_interface *pusbintf;
struct usb_device *pusbdev;

- ATOMIC_T continual_urb_error;
+ atomic_t continual_urb_error;
u8 signal_strength;
};

diff --git a/drivers/staging/r8188eu/include/osdep_service.h b/drivers/staging/r8188eu/include/osdep_service.h
index 48d49919b2d5..fd7716b6de2a 100644
--- a/drivers/staging/r8188eu/include/osdep_service.h
+++ b/drivers/staging/r8188eu/include/osdep_service.h
@@ -327,20 +327,6 @@ void rtw_suspend_lock_uninit(void);
void rtw_lock_suspend(void);
void rtw_unlock_suspend(void);

-/* Atomic integer operations */
-#define ATOMIC_T atomic_t
-
-void ATOMIC_SET(ATOMIC_T *v, int i);
-int ATOMIC_READ(ATOMIC_T *v);
-void ATOMIC_ADD(ATOMIC_T *v, int i);
-void ATOMIC_SUB(ATOMIC_T *v, int i);
-void ATOMIC_INC(ATOMIC_T *v);
-void ATOMIC_DEC(ATOMIC_T *v);
-int ATOMIC_ADD_RETURN(ATOMIC_T *v, int i);
-int ATOMIC_SUB_RETURN(ATOMIC_T *v, int i);
-int ATOMIC_INC_RETURN(ATOMIC_T *v);
-int ATOMIC_DEC_RETURN(ATOMIC_T *v);
-
struct rtw_netdev_priv_indicator {
void *priv;
u32 sizeof_priv;
diff --git a/drivers/staging/r8188eu/include/rtw_cmd.h b/drivers/staging/r8188eu/include/rtw_cmd.h
index 0f64b72bb5de..c14d9052b997 100644
--- a/drivers/staging/r8188eu/include/rtw_cmd.h
+++ b/drivers/staging/r8188eu/include/rtw_cmd.h
@@ -53,7 +53,7 @@ struct evt_priv {
bool c2h_wk_alive;
struct rtw_cbuf *c2h_queue;
#define C2H_QUEUE_MAX_LEN 10
- ATOMIC_T event_seq;
+ atomic_t event_seq;
u8 *evt_buf; /* shall be non-paged, and 4 bytes aligned */
u8 *evt_allocated_buf;
u32 evt_done_cnt;
diff --git a/drivers/staging/r8188eu/include/rtw_mlme_ext.h b/drivers/staging/r8188eu/include/rtw_mlme_ext.h
index b9c76f04445c..88d4ec073723 100644
--- a/drivers/staging/r8188eu/include/rtw_mlme_ext.h
+++ b/drivers/staging/r8188eu/include/rtw_mlme_ext.h
@@ -382,7 +382,7 @@ struct p2p_oper_class_map {
struct mlme_ext_priv {
struct adapter *padapter;
u8 mlmeext_init;
- ATOMIC_T event_seq;
+ atomic_t event_seq;
u16 mgnt_seq;

unsigned char cur_channel;
diff --git a/drivers/staging/r8188eu/include/usb_ops.h b/drivers/staging/r8188eu/include/usb_ops.h
index 273bc2705558..5d290199e37c 100644
--- a/drivers/staging/r8188eu/include/usb_ops.h
+++ b/drivers/staging/r8188eu/include/usb_ops.h
@@ -38,7 +38,7 @@ static inline int rtw_inc_and_chk_continual_urb_error(struct dvobj_priv *dvobj)
{
int ret = false;
int value;
- value = ATOMIC_INC_RETURN(&dvobj->continual_urb_error);
+ value = atomic_inc_return(&dvobj->continual_urb_error);
if (value > MAX_CONTINUAL_URB_ERR) {
DBG_88E("[dvobj:%p][ERROR] continual_urb_error:%d > %d\n",
dvobj, value, MAX_CONTINUAL_URB_ERR);
@@ -52,7 +52,7 @@ static inline int rtw_inc_and_chk_continual_urb_error(struct dvobj_priv *dvobj)
*/
static inline void rtw_reset_continual_urb_error(struct dvobj_priv *dvobj)
{
- ATOMIC_SET(&dvobj->continual_urb_error, 0);
+ atomic_set(&dvobj->continual_urb_error, 0);
}

#define USB_HIGH_SPEED_BULK_SIZE 512
diff --git a/drivers/staging/r8188eu/os_dep/osdep_service.c b/drivers/staging/r8188eu/os_dep/osdep_service.c
index dab61fac976c..8cf84cad5094 100644
--- a/drivers/staging/r8188eu/os_dep/osdep_service.c
+++ b/drivers/staging/r8188eu/os_dep/osdep_service.c
@@ -183,56 +183,6 @@ inline void rtw_unlock_suspend(void)
{
}

-inline void ATOMIC_SET(ATOMIC_T *v, int i)
-{
- atomic_set(v, i);
-}
-
-inline int ATOMIC_READ(ATOMIC_T *v)
-{
- return atomic_read(v);
-}
-
-inline void ATOMIC_ADD(ATOMIC_T *v, int i)
-{
- atomic_add(i, v);
-}
-
-inline void ATOMIC_SUB(ATOMIC_T *v, int i)
-{
- atomic_sub(i, v);
-}
-
-inline void ATOMIC_INC(ATOMIC_T *v)
-{
- atomic_inc(v);
-}
-
-inline void ATOMIC_DEC(ATOMIC_T *v)
-{
- atomic_dec(v);
-}
-
-inline int ATOMIC_ADD_RETURN(ATOMIC_T *v, int i)
-{
- return atomic_add_return(i, v);
-}
-
-inline int ATOMIC_SUB_RETURN(ATOMIC_T *v, int i)
-{
- return atomic_sub_return(i, v);
-}
-
-inline int ATOMIC_INC_RETURN(ATOMIC_T *v)
-{
- return atomic_inc_return(v);
-}
-
-inline int ATOMIC_DEC_RETURN(ATOMIC_T *v)
-{
- return atomic_dec_return(v);
-}
-
static const struct device_type wlan_type = {
.name = "wlan",
};
--
2.32.0


2021-08-02 15:20:28

by Larry Finger

[permalink] [raw]
Subject: [PATCH 4/6] staging: r8188eu: Remove 4 empty routines from os_sep/service.c

Routines rtw_suspend_lock_init(), rtw_suspend_lock_uninit(),
rtw_lock_suspend(), and rtw_unlock_suspend() do not conti=ain any code.
Simplify by removing them.

Signed-off-by: Larry Finger <[email protected]>
---
drivers/staging/r8188eu/include/osdep_service.h | 5 -----
drivers/staging/r8188eu/os_dep/osdep_service.c | 16 ----------------
drivers/staging/r8188eu/os_dep/rtw_android.c | 2 --
drivers/staging/r8188eu/os_dep/usb_intf.c | 4 ----
4 files changed, 27 deletions(-)

diff --git a/drivers/staging/r8188eu/include/osdep_service.h b/drivers/staging/r8188eu/include/osdep_service.h
index fd7716b6de2a..23aef493b601 100644
--- a/drivers/staging/r8188eu/include/osdep_service.h
+++ b/drivers/staging/r8188eu/include/osdep_service.h
@@ -322,11 +322,6 @@ static inline u32 bitshift(u32 bitmask)
/* limitation of path length */
#define PATH_LENGTH_MAX PATH_MAX

-void rtw_suspend_lock_init(void);
-void rtw_suspend_lock_uninit(void);
-void rtw_lock_suspend(void);
-void rtw_unlock_suspend(void);
-
struct rtw_netdev_priv_indicator {
void *priv;
u32 sizeof_priv;
diff --git a/drivers/staging/r8188eu/os_dep/osdep_service.c b/drivers/staging/r8188eu/os_dep/osdep_service.c
index 8cf84cad5094..869efcd5531a 100644
--- a/drivers/staging/r8188eu/os_dep/osdep_service.c
+++ b/drivers/staging/r8188eu/os_dep/osdep_service.c
@@ -167,22 +167,6 @@ void rtw_yield_os(void)

#define RTW_SUSPEND_LOCK_NAME "rtw_wifi"

-inline void rtw_suspend_lock_init(void)
-{
-}
-
-inline void rtw_suspend_lock_uninit(void)
-{
-}
-
-inline void rtw_lock_suspend(void)
-{
-}
-
-inline void rtw_unlock_suspend(void)
-{
-}
-
static const struct device_type wlan_type = {
.name = "wlan",
};
diff --git a/drivers/staging/r8188eu/os_dep/rtw_android.c b/drivers/staging/r8188eu/os_dep/rtw_android.c
index 2b9e719e2a51..b55c86131dc7 100644
--- a/drivers/staging/r8188eu/os_dep/rtw_android.c
+++ b/drivers/staging/r8188eu/os_dep/rtw_android.c
@@ -147,7 +147,6 @@ int rtw_android_priv_cmd(struct net_device *net, struct ifreq *ifr, int cmd)
int bytes_written = 0;
struct android_wifi_priv_cmd priv_cmd;

- rtw_lock_suspend();
if (!ifr->ifr_data) {
ret = -EINVAL;
goto exit;
@@ -279,7 +278,6 @@ int rtw_android_priv_cmd(struct net_device *net, struct ifreq *ifr, int cmd)
ret = bytes_written;
}
exit:
- rtw_unlock_suspend();
kfree(command);
return ret;
}
diff --git a/drivers/staging/r8188eu/os_dep/usb_intf.c b/drivers/staging/r8188eu/os_dep/usb_intf.c
index 2c372c9ad7e7..18151b09c84f 100644
--- a/drivers/staging/r8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/r8188eu/os_dep/usb_intf.c
@@ -818,8 +818,6 @@ static int __init rtw_drv_entry(void)

DBG_88E(DRV_NAME " driver version=%s\n", DRIVERVERSION);

- rtw_suspend_lock_init();
-
_rtw_mutex_init(&usb_drv->hw_init_mutex);

usb_drv->drv_registered = true;
@@ -831,8 +829,6 @@ static void __exit rtw_drv_halt(void)
RT_TRACE(_module_hci_intfs_c_, _drv_err_, ("+rtw_drv_halt\n"));
DBG_88E("+rtw_drv_halt\n");

- rtw_suspend_lock_uninit();
-
usb_drv->drv_registered = false;
usb_deregister(&usb_drv->usbdrv);

--
2.32.0


2021-08-02 17:24:11

by Fabio Aiuto

[permalink] [raw]
Subject: Re: [PATCH 0/6] Clean up some extraneous wrappers and some empty routines

Hi Larry,

On Mon, Aug 02, 2021 at 10:15:40AM -0500, Larry Finger wrote:
> The original code created some wrappers to handle the differences between
> Linux and Windows. In a Linux-only version, these can be removed.
>
> Larry Finger (6):
> staging: r8188eu: Remove wrappers for kalloc() and kzalloc()
> staging: r8188eu: Remove wrapper around vfree
> staging: r8188eu: Remove wrappers for atomic operations
> staging: r8188eu: Remove 4 empty routines from os_sep/service.c
> staging: r8188eu: Remove all calls to _rtw_spinlock_free()
> staging: r8188eu: Remove more empty routines
>
> drivers/staging/r8188eu/core/rtw_ap.c | 8 +-
> drivers/staging/r8188eu/core/rtw_br_ext.c | 2 +-
> drivers/staging/r8188eu/core/rtw_br_ext.c.rej | 11 ++

what these .rej files are?

> drivers/staging/r8188eu/core/rtw_cmd.c | 16 +--
> drivers/staging/r8188eu/core/rtw_efuse.c | 4 +-
> drivers/staging/r8188eu/core/rtw_efuse.c.rej | 20 ++++
> drivers/staging/r8188eu/core/rtw_mlme.c | 15 +--
> drivers/staging/r8188eu/core/rtw_mlme_ext.c | 44 +++----
> .../staging/r8188eu/core/rtw_mlme_ext.c.rej | 107 ++++++++++++++++++
> drivers/staging/r8188eu/core/rtw_mp.c | 5 +-
> drivers/staging/r8188eu/core/rtw_p2p.c | 8 +-
> drivers/staging/r8188eu/core/rtw_p2p.c.rej | 18 +++
> drivers/staging/r8188eu/core/rtw_recv.c | 16 +--
> drivers/staging/r8188eu/core/rtw_sta_mgt.c | 48 +-------
> drivers/staging/r8188eu/core/rtw_wlan_util.c | 2 +-
> drivers/staging/r8188eu/core/rtw_xmit.c | 26 +----
> drivers/staging/r8188eu/hal/odm_interface.c | 2 +-
> drivers/staging/r8188eu/hal/rtl8188e_cmd.c | 2 +-
> .../staging/r8188eu/hal/rtl8188e_cmd.c.rej | 11 ++
> .../staging/r8188eu/hal/rtl8188e_hal_init.c | 10 +-
> .../r8188eu/hal/rtl8188e_hal_init.c.rej | 34 ++++++
> drivers/staging/r8188eu/hal/rtl8188eu_recv.c | 3 +-
> .../staging/r8188eu/hal/rtl8188eu_recv.c.rej | 12 ++
> drivers/staging/r8188eu/hal/usb_halinit.c | 2 +-
> drivers/staging/r8188eu/hal/usb_halinit.c.rej | 11 ++
> drivers/staging/r8188eu/include/drv_types.h | 2 +-
> .../staging/r8188eu/include/odm_precomp.h.rej | 19 ++++
> .../staging/r8188eu/include/osdep_service.h | 28 -----
> drivers/staging/r8188eu/include/rtw_cmd.h | 2 +-
> .../staging/r8188eu/include/rtw_mlme_ext.h | 2 +-
> drivers/staging/r8188eu/include/usb_ops.h | 4 +-
> drivers/staging/r8188eu/os_dep/ioctl_linux.c | 70 ++++++------
> drivers/staging/r8188eu/os_dep/mlme_linux.c | 3 +-
> drivers/staging/r8188eu/os_dep/os_intfs.c | 2 -
> .../staging/r8188eu/os_dep/osdep_service.c | 105 +----------------
> drivers/staging/r8188eu/os_dep/rtw_android.c | 2 -
> drivers/staging/r8188eu/os_dep/usb_intf.c | 10 +-
> drivers/staging/r8188eu/os_dep/xmit_linux.c | 2 +-
> .../staging/r8188eu/os_dep/xmit_linux.c.rej | 11 ++
> 39 files changed, 366 insertions(+), 333 deletions(-)
> create mode 100644 drivers/staging/r8188eu/core/rtw_br_ext.c.rej
> create mode 100644 drivers/staging/r8188eu/core/rtw_efuse.c.rej
> create mode 100644 drivers/staging/r8188eu/core/rtw_mlme_ext.c.rej
> create mode 100644 drivers/staging/r8188eu/core/rtw_p2p.c.rej
> create mode 100644 drivers/staging/r8188eu/hal/rtl8188e_cmd.c.rej
> create mode 100644 drivers/staging/r8188eu/hal/rtl8188e_hal_init.c.rej
> create mode 100644 drivers/staging/r8188eu/hal/rtl8188eu_recv.c.rej
> create mode 100644 drivers/staging/r8188eu/hal/usb_halinit.c.rej
> create mode 100644 drivers/staging/r8188eu/include/odm_precomp.h.rej
> create mode 100644 drivers/staging/r8188eu/os_dep/xmit_linux.c.rej
>
> --
> 2.32.0
>
>

thank you,

fabio

2021-08-02 17:55:12

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 2/6] staging: r8188eu: Remove wrapper around vfree

Hi Larry,

I love your patch! Yet something to improve:

[auto build test ERROR on staging/staging-testing]
[cannot apply to v5.14-rc3 next-20210730]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Larry-Finger/Clean-up-some-extraneous-wrappers-and-some-empty-routines/20210802-231818
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 9b6818c1ac0e545c632265e4bf0aa1171347ebea
config: alpha-allyesconfig (attached as .config)
compiler: alpha-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/d0ff5c67cf8341de34bf090ff6b0ef60e60705fd
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Larry-Finger/Clean-up-some-extraneous-wrappers-and-some-empty-routines/20210802-231818
git checkout d0ff5c67cf8341de34bf090ff6b0ef60e60705fd
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=alpha

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

drivers/staging/r8188eu/core/rtw_mlme.c: In function '_rtw_free_mlme_priv':
>> drivers/staging/r8188eu/core/rtw_mlme.c:136:3: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
136 | vfree(pmlmepriv->free_bss_buf);
| ^~~~~
| kvfree
drivers/staging/r8188eu/core/rtw_mlme.c: In function 'rtw_surveydone_event_callback':
drivers/staging/r8188eu/core/rtw_mlme.c:760:24: warning: variable 'pmlmeext' set but not used [-Wunused-but-set-variable]
760 | struct mlme_ext_priv *pmlmeext;
| ^~~~~~~~
In file included from drivers/staging/r8188eu/core/../include/drv_types.h:25,
from drivers/staging/r8188eu/core/rtw_mlme.c:8:
At top level:
drivers/staging/r8188eu/core/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=]
312 | static const unsigned long K[64] = {
| ^
cc1: some warnings being treated as errors
--
drivers/staging/r8188eu/core/rtw_mp.c: In function '_rtw_mp_xmit_priv':
>> drivers/staging/r8188eu/core/rtw_mp.c:925:2: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
925 | vfree(pxmitpriv->pallocated_xmit_extbuf);
| ^~~~~
| kvfree
In file included from drivers/staging/r8188eu/core/../include/drv_types.h:25,
from drivers/staging/r8188eu/core/rtw_mp.c:6:
At top level:
drivers/staging/r8188eu/core/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=]
312 | static const unsigned long K[64] = {
| ^
cc1: some warnings being treated as errors
--
drivers/staging/r8188eu/core/rtw_recv.c: In function '_rtw_free_recv_priv':
>> drivers/staging/r8188eu/core/rtw_recv.c:118:2: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
118 | vfree(precvpriv->pallocated_frame_buf);
| ^~~~~
| kvfree
In file included from drivers/staging/r8188eu/core/../include/drv_types.h:25,
from drivers/staging/r8188eu/core/rtw_recv.c:7:
At top level:
drivers/staging/r8188eu/core/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=]
312 | static const unsigned long K[64] = {
| ^
cc1: some warnings being treated as errors
--
drivers/staging/r8188eu/core/rtw_sta_mgt.c: In function 'rtw_mfree_all_stainfo':
drivers/staging/r8188eu/core/rtw_sta_mgt.c:169:19: warning: variable 'psta' set but not used [-Wunused-but-set-variable]
169 | struct sta_info *psta = NULL;
| ^~~~
drivers/staging/r8188eu/core/rtw_sta_mgt.c: In function '_rtw_free_sta_priv':
>> drivers/staging/r8188eu/core/rtw_sta_mgt.c:236:4: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
236 | vfree(pstapriv->pallocated_stainfo_buf);
| ^~~~~
| kvfree
In file included from drivers/staging/r8188eu/core/../include/drv_types.h:25,
from drivers/staging/r8188eu/core/rtw_sta_mgt.c:7:
At top level:
drivers/staging/r8188eu/core/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=]
312 | static const unsigned long K[64] = {
| ^
cc1: some warnings being treated as errors
--
drivers/staging/r8188eu/core/rtw_xmit.c: In function '_rtw_free_xmit_priv':
>> drivers/staging/r8188eu/core/rtw_xmit.c:255:2: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
255 | vfree(pxmitpriv->pallocated_frame_buf);
| ^~~~~
| kvfree
In file included from drivers/staging/r8188eu/core/../include/drv_types.h:25,
from drivers/staging/r8188eu/core/rtw_xmit.c:7:
At top level:
drivers/staging/r8188eu/core/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=]
312 | static const unsigned long K[64] = {
| ^
cc1: some warnings being treated as errors
--
drivers/staging/r8188eu/hal/odm_interface.c: In function 'ODM_FreeMemory':
>> drivers/staging/r8188eu/hal/odm_interface.c:88:2: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
88 | vfree(pPtr);
| ^~~~~
| kvfree
In file included from drivers/staging/r8188eu/hal/../include/drv_types.h:25,
from drivers/staging/r8188eu/hal/../include/odm_precomp.h:14,
from drivers/staging/r8188eu/hal/odm_interface.c:4:
At top level:
drivers/staging/r8188eu/hal/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=]
312 | static const unsigned long K[64] = {
| ^
cc1: some warnings being treated as errors
--
drivers/staging/r8188eu/hal/rtl8188e_hal_init.c: In function 'rtw_IOL_cmd_tx_pkt_buf_dump':
>> drivers/staging/r8188eu/hal/rtl8188e_hal_init.c:366:3: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
366 | vfree(pbuf);
| ^~~~~
| kvfree
In file included from drivers/staging/r8188eu/hal/../include/drv_types.h:25,
from drivers/staging/r8188eu/hal/rtl8188e_hal_init.c:7:
At top level:
drivers/staging/r8188eu/hal/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=]
312 | static const unsigned long K[64] = {
| ^
cc1: some warnings being treated as errors
--
drivers/staging/r8188eu/os_dep/ioctl_linux.c: In function 'rtw_wx_set_priv':
>> drivers/staging/r8188eu/os_dep/ioctl_linux.c:5606:3: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
5606 | vfree(ext);
| ^~~~~
| kvfree
In file included from drivers/staging/r8188eu/os_dep/../include/drv_types.h:25,
from drivers/staging/r8188eu/os_dep/ioctl_linux.c:7:
At top level:
drivers/staging/r8188eu/os_dep/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=]
312 | static const unsigned long K[64] = {
| ^
cc1: some warnings being treated as errors
--
drivers/staging/r8188eu/os_dep/usb_intf.c: In function 'rtw_usb_if1_init':
>> drivers/staging/r8188eu/os_dep/usb_intf.c:705:4: error: implicit declaration of function 'vfree'; did you mean 'kfree'? [-Werror=implicit-function-declaration]
705 | vfree(padapter);
| ^~~~~
| kfree
In file included from drivers/staging/r8188eu/os_dep/../include/drv_types.h:25,
from drivers/staging/r8188eu/os_dep/usb_intf.c:8:
At top level:
drivers/staging/r8188eu/os_dep/../include/rtw_security.h:312:28: warning: 'K' defined but not used [-Wunused-const-variable=]
312 | static const unsigned long K[64] = {
| ^
cc1: some warnings being treated as errors


vim +136 drivers/staging/r8188eu/core/rtw_mlme.c

130
131 rtw_free_mlme_priv_ie_data(pmlmepriv);
132
133 if (pmlmepriv) {
134 rtw_mfree_mlme_priv_lock (pmlmepriv);
135
> 136 vfree(pmlmepriv->free_bss_buf);
137 }
138

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]


Attachments:
(No filename) (9.28 kB)
.config.gz (66.62 kB)
Download all attachments

2021-08-02 18:53:06

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH 0/6] Clean up some extraneous wrappers and some empty routines

On 8/2/21 12:19 PM, Fabio Aiuto wrote:
> what these .rej files are?
>

A mistake on my part. I will resubmit

Larry


2021-08-04 14:35:33

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH 1/6] staging: r8188eu: Remove wrappers for kalloc() and kzalloc()

On Mon, Aug 02, 2021 at 10:15:41AM -0500, Larry Finger wrote:
> diff --git a/drivers/staging/r8188eu/core/rtw_br_ext.c.rej b/drivers/staging/r8188eu/core/rtw_br_ext.c.rej
> new file mode 100644
> index 000000000000..18113389acce
> --- /dev/null
> +++ b/drivers/staging/r8188eu/core/rtw_br_ext.c.rej
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

;) Something went wrong.

(I'm not going to review the rest of this series.)

> @@ -0,0 +1,11 @@
> +--- drivers/staging/r8188eu/core/rtw_br_ext.c
> ++++ drivers/staging/r8188eu/core/rtw_br_ext.c
> +@@ -420,7 +420,7 @@ static void __nat25_db_network_insert(st
> + }
> + db = db->next_hash;
> + }
> +- db = (struct nat25_network_db_entry *) rtw_malloc(sizeof(*db));
> ++ db = kmalloc(sizeof(*db), GFP_KERNEL);
> + if (db == NULL) {
> + spin_unlock_bh(&priv->br_ext_lock);
> + return;

regards,
dan carpenter


2021-08-04 17:59:27

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH 1/6] staging: r8188eu: Remove wrappers for kalloc() and kzalloc()

On 8/4/21 8:15 AM, Dan Carpenter wrote:
> On Mon, Aug 02, 2021 at 10:15:41AM -0500, Larry Finger wrote:
>> diff --git a/drivers/staging/r8188eu/core/rtw_br_ext.c.rej b/drivers/staging/r8188eu/core/rtw_br_ext.c.rej
>> new file mode 100644
>> index 000000000000..18113389acce
>> --- /dev/null
>> +++ b/drivers/staging/r8188eu/core/rtw_br_ext.c.rej
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> ;) Something went wrong.

I submitted v2 with this problem fixed. Sorry for the confusion.

Larry