Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions drivers/aic8800/aic8800_fdrv/aicwf_tcp_ack.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ void tcp_ack_deinit(struct rwnx_hw *priv)
drop_msg = NULL;

write_seqlock_bh(&ack_m->ack_info[i].seqlock);
del_timer(&ack_m->ack_info[i].timer);
timer_delete(&ack_m->ack_info[i].timer);
drop_msg = ack_m->ack_info[i].msgbuf;
ack_m->ack_info[i].msgbuf = NULL;
write_sequnlock_bh(&ack_m->ack_info[i].seqlock);
Expand Down Expand Up @@ -375,7 +375,7 @@ int tcp_ack_handle(struct msg_buf *new_msgbuf,
//printk("%lx \n",ack_info->msgbuf);
drop_msg = ack_info->msgbuf;
ack_info->msgbuf = NULL;
del_timer(&ack_info->timer);
timer_delete(&ack_info->timer);
}else{
//printk("msgbuf is NULL \n");
}
Expand Down Expand Up @@ -409,7 +409,7 @@ int tcp_ack_handle(struct msg_buf *new_msgbuf,
atomic_read(&ack_m->max_drop_cnt)))) {
ack_info->drop_cnt = 0;
ack_info->in_send_msg = new_msgbuf;
del_timer(&ack_info->timer);
timer_delete(&ack_info->timer);
} else {
ret = 1;
ack_info->msgbuf = new_msgbuf;
Expand Down Expand Up @@ -472,7 +472,7 @@ int tcp_ack_handle_new(struct msg_buf *new_msgbuf,
ack_info->drop_cnt = 0;
send_msg = new_msgbuf;
ack_info->in_send_msg = send_msg;
del_timer(&ack_info->timer);
timer_delete(&ack_info->timer);
}else{
ret = 1;
ack_info->msgbuf = new_msgbuf;
Expand Down
2 changes: 1 addition & 1 deletion drivers/aic8800/aic8800_fdrv/aicwf_txrxif.c
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ int aicwf_bus_init(uint bus_hdrlen, struct device *dev)

#if 1
//waiting for rx/tx thread init finish
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
while(bus_if->busrx_thread->__state != TASK_INTERRUPTIBLE ||
bus_if->bustx_thread->__state != TASK_INTERRUPTIBLE)
#else
Expand Down
8 changes: 4 additions & 4 deletions drivers/aic8800/aic8800_fdrv/aicwf_usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1244,7 +1244,7 @@ int usb_bustx_thread(void *data)
int set_cpu_ret = 0;

#ifdef CONFIG_THREAD_INFO_IN_TASK
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0))
AICWFDBG(LOGINFO, "%s the cpu is:%d\n", __func__, current->thread_info.cpu);
#else
AICWFDBG(LOGINFO, "%s the cpu is:%d\n", __func__, current->cpu);
Expand All @@ -1253,7 +1253,7 @@ int usb_bustx_thread(void *data)
set_cpu_ret = set_cpus_allowed_ptr(current, cpumask_of(1));
#ifdef CONFIG_THREAD_INFO_IN_TASK
AICWFDBG(LOGINFO, "%s set_cpu_ret is:%d\n", __func__, set_cpu_ret);
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0))
AICWFDBG(LOGINFO, "%s change cpu to:%d\n", __func__, current->thread_info.cpu);
#else
AICWFDBG(LOGINFO, "%s change cpu to:%d\n", __func__, current->cpu);
Expand Down Expand Up @@ -1311,7 +1311,7 @@ int usb_busrx_thread(void *data)
int set_cpu_ret = 0;

#ifdef CONFIG_THREAD_INFO_IN_TASK
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0))
AICWFDBG(LOGINFO, "%s the cpu is:%d\n", __func__, current->thread_info.cpu);
#else
AICWFDBG(LOGINFO, "%s the cpu is:%d\n", __func__, current->cpu);
Expand All @@ -1320,7 +1320,7 @@ int usb_busrx_thread(void *data)
set_cpu_ret = set_cpus_allowed_ptr(current, cpumask_of(1));
#ifdef CONFIG_THREAD_INFO_IN_TASK
AICWFDBG(LOGINFO, "%s set_cpu_ret is:%d\n", __func__, set_cpu_ret);
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0))
AICWFDBG(LOGINFO, "%s change cpu to:%d\n", __func__, current->thread_info.cpu);
#else
AICWFDBG(LOGINFO, "%s change cpu to:%d\n", __func__, current->cpu);
Expand Down
71 changes: 71 additions & 0 deletions drivers/aic8800/aic8800_fdrv/rwnx_compat.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,77 @@
#error "Minimum kernel version supported is 3.10"
#endif

/* Kernel 6.x compatibility fixes */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
/* cfg80211_ch_switch_notify signature changed in kernel 6.0 */
#define cfg80211_ch_switch_notify(dev, chandef, count) \
cfg80211_ch_switch_notify(dev, chandef, count)

/* ieee80211_amsdu_to_8023s signature changed in kernel 6.3 */
#define ieee80211_amsdu_to_8023s(skb, list, addr, iftype, extra_headroom, check_da, check_sa, amsdu) \
ieee80211_amsdu_to_8023s(skb, list, addr, iftype, extra_headroom, check_da, check_sa, amsdu)

/* cfg80211_change_beacon signature changed in kernel 6.8 */
#define cfg80211_change_beacon(wiphy, dev, info) \
cfg80211_change_beacon(wiphy, dev, info)

/* Thread info access changed in kernel 6.x */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
#define CURRENT_CPU current->thread_info.cpu
#else
#define CURRENT_CPU current->cpu
#endif

/* sched_set_fifo_low availability check */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
#define SCHED_FIFO_LOW_AVAILABLE 1
#else
#define SCHED_FIFO_LOW_AVAILABLE 0
#endif

/* Task state access changed in kernel 6.x */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
#define TASK_STATE_ACCESS(task) task->__state
#else
#define TASK_STATE_ACCESS(task) task->state
#endif

/* sched_set_fifo_low function availability */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
#define sched_set_fifo_low(task) sched_set_fifo_low(task)
#else
#define sched_set_fifo_low(task) do { \
struct sched_param param = { .sched_priority = 1 }; \
sched_setscheduler(task, SCHED_FIFO, &param); \
} while (0)
#endif

/* IEEE80211_HE_PHY_CAP3 and IEEE80211_HE_PHY_CAP6 availability - only define if not already defined */
#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
#ifndef IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM
#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM 0x01
#endif
#ifndef IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1
#define IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 0x02
#endif
#ifndef IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU
#define IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU 0x04
#endif
#ifndef IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU
#define IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU 0x01
#endif
#ifndef IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU
#define IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU 0x02
#endif
#ifndef IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB
#define IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB 0x04
#endif
#ifndef IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB
#define IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB 0x08
#endif
#endif
#endif

/* Generic */
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
#define __bf_shf(x) (__builtin_ffsll(x) - 1)
Expand Down
4 changes: 4 additions & 0 deletions drivers/aic8800/aic8800_fdrv/rwnx_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,15 @@
#define HIGH_KERNEL_VERSION2 KERNEL_VERSION(5, 15, 41)
#define HIGH_KERNEL_VERSION3 KERNEL_VERSION(5, 15, 104)
#define HIGH_KERNEL_VERSION4 KERNEL_VERSION(6, 1, 0)
#define HIGH_KERNEL_VERSION5 KERNEL_VERSION(6, 3, 0)
#define HIGH_KERNEL_VERSION6 KERNEL_VERSION(6, 8, 0)
#else
#define HIGH_KERNEL_VERSION KERNEL_VERSION(6, 0, 0)
#define HIGH_KERNEL_VERSION2 KERNEL_VERSION(6, 1, 0)
#define HIGH_KERNEL_VERSION3 KERNEL_VERSION(6, 3, 0)
#define HIGH_KERNEL_VERSION4 KERNEL_VERSION(6, 3, 0)
#define HIGH_KERNEL_VERSION5 KERNEL_VERSION(6, 8, 0)
#define HIGH_KERNEL_VERSION6 KERNEL_VERSION(6, 9, 0)
#endif

#ifndef IEEE80211_MAX_AMPDU_BUF
Expand Down
24 changes: 13 additions & 11 deletions drivers/aic8800/aic8800_fdrv/rwnx_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1948,7 +1948,7 @@ void aicwf_p2p_alive_timeout(struct timer_list *t)
rwnx_vif = (struct rwnx_vif *)data;
rwnx_hw = rwnx_vif->rwnx_hw;
#else
rwnx_hw = from_timer(rwnx_hw, t, p2p_alive_timer);
rwnx_hw = container_of(t, struct rwnx_hw, p2p_alive_timer);
rwnx_vif = rwnx_hw->p2p_dev_vif;
#endif

Expand Down Expand Up @@ -2195,7 +2195,7 @@ static int rwnx_cfg80211_del_iface(struct wiphy *wiphy, struct wireless_dev *wde
#if 0
if (rwnx_vif == rwnx_hw->p2p_dev_vif) {
if (timer_pending(&rwnx_hw->p2p_alive_timer)) {
del_timer_sync(&rwnx_hw->p2p_alive_timer);
timer_delete_sync(&rwnx_hw->p2p_alive_timer);
}
}
#endif
Expand Down Expand Up @@ -2444,7 +2444,7 @@ static void rwnx_cfgp2p_stop_p2p_device(struct wiphy *wiphy, struct wireless_dev
if (rwnx_vif == rwnx_hw->p2p_dev_vif) {
rwnx_hw->is_p2p_alive = 0;
if (timer_pending(&rwnx_hw->p2p_alive_timer)) {
del_timer_sync(&rwnx_hw->p2p_alive_timer);
timer_delete_sync(&rwnx_hw->p2p_alive_timer);
}
if (rwnx_vif->up) {
rwnx_send_remove_if(rwnx_hw, rwnx_vif->vif_index, true);
Expand Down Expand Up @@ -3725,7 +3725,7 @@ static int rwnx_cfg80211_start_ap(struct wiphy *wiphy, struct net_device *dev,
* @change_beacon: Change the beacon parameters for an access point mode
* interface. This should reject the call when AP mode wasn't started.
*/
#if LINUX_VERSION_CODE > KERNEL_VERSION(6, 7, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 8, 0)
static int rwnx_cfg80211_change_beacon(struct wiphy *wiphy, struct net_device *dev,
struct cfg80211_ap_update *info)
#else
Expand All @@ -3745,7 +3745,7 @@ static int rwnx_cfg80211_change_beacon(struct wiphy *wiphy, struct net_device *d
elem.dma_addr = 0;

// Build the beacon
#if LINUX_VERSION_CODE > KERNEL_VERSION(6, 7, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 8, 0)
buf = rwnx_build_bcn(bcn, &info->beacon);
#else
buf = rwnx_build_bcn(bcn, info);
Expand Down Expand Up @@ -3842,6 +3842,7 @@ cfg80211_chandef_identical(const struct cfg80211_chan_def *chandef1,
#endif

static int rwnx_cfg80211_set_monitor_channel(struct wiphy *wiphy,
struct net_device *dev,
struct cfg80211_chan_def *chandef)
{
struct rwnx_hw *rwnx_hw = wiphy_priv(wiphy);
Expand Down Expand Up @@ -4367,7 +4368,7 @@ static int rwnx_cfg80211_get_channel(struct wiphy *wiphy,
if (rwnx_vif->vif_index == rwnx_hw->monitor_vif)
{
//retrieve channel from firmware
rwnx_cfg80211_set_monitor_channel(wiphy, NULL);
rwnx_cfg80211_set_monitor_channel(wiphy, NULL, NULL);
}

//Check if channel context is valid
Expand Down Expand Up @@ -4547,11 +4548,12 @@ static int rwnx_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
static
int rwnx_cfg80211_start_radar_detection(struct wiphy *wiphy,
struct net_device *dev,
struct cfg80211_chan_def *chandef
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0))
, u32 cac_time_ms
struct cfg80211_chan_def *chandef,
u32 cac_time_ms
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0))
, int radar_cac_time_ms
#endif
)
)
{
struct rwnx_hw *rwnx_hw = wiphy_priv(wiphy);
struct rwnx_vif *rwnx_vif = netdev_priv(dev);
Expand Down Expand Up @@ -8540,7 +8542,7 @@ static void __exit rwnx_mod_exit(void)
module_init(rwnx_mod_init);
module_exit(rwnx_mod_exit);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
// MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
#endif
MODULE_FIRMWARE(RWNX_CONFIG_FW_NAME);

Expand Down
12 changes: 6 additions & 6 deletions drivers/aic8800/aic8800_fdrv/rwnx_mod_params.c
Original file line number Diff line number Diff line change
Expand Up @@ -1222,7 +1222,7 @@ static void rwnx_set_he_capa(struct rwnx_hw *rwnx_hw, struct wiphy *wiphy)
#endif
if (rwnx_hw->mod_params->stbc_on)
he_cap->he_cap_elem.phy_cap_info[2] |= IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
he_cap->he_cap_elem.phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM |
IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 |
IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU;
Expand All @@ -1238,7 +1238,7 @@ static void rwnx_set_he_capa(struct rwnx_hw *rwnx_hw, struct wiphy *wiphy)
}
he_cap->he_cap_elem.phy_cap_info[5] |= IEEE80211_HE_PHY_CAP5_NG16_SU_FEEDBACK |
IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
he_cap->he_cap_elem.phy_cap_info[6] |= IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU |
IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU |
IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB |
Expand Down Expand Up @@ -1352,7 +1352,7 @@ static void rwnx_set_he_capa(struct rwnx_hw *rwnx_hw, struct wiphy *wiphy)
#endif
if (rwnx_hw->mod_params->stbc_on)
he_cap->he_cap_elem.phy_cap_info[2] |= IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
he_cap->he_cap_elem.phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM |
IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 |
IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU;
Expand All @@ -1368,7 +1368,7 @@ static void rwnx_set_he_capa(struct rwnx_hw *rwnx_hw, struct wiphy *wiphy)
}
he_cap->he_cap_elem.phy_cap_info[5] |= IEEE80211_HE_PHY_CAP5_NG16_SU_FEEDBACK |
IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
he_cap->he_cap_elem.phy_cap_info[6] |= IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU |
IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU |
IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB |
Expand Down Expand Up @@ -1466,7 +1466,7 @@ static void rwnx_set_he_capa(struct rwnx_hw *rwnx_hw, struct wiphy *wiphy)
#endif
if (rwnx_hw->mod_params->stbc_on)
he_cap->he_cap_elem.phy_cap_info[2] |= IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
he_cap->he_cap_elem.phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM |
IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 |
IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU;
Expand All @@ -1482,7 +1482,7 @@ static void rwnx_set_he_capa(struct rwnx_hw *rwnx_hw, struct wiphy *wiphy)
}
he_cap->he_cap_elem.phy_cap_info[5] |= IEEE80211_HE_PHY_CAP5_NG16_SU_FEEDBACK |
IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0)
he_cap->he_cap_elem.phy_cap_info[6] |= IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU |
IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU |
IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB |
Expand Down
4 changes: 2 additions & 2 deletions drivers/aic8800/aic8800_fdrv/rwnx_radar.c
Original file line number Diff line number Diff line change
Expand Up @@ -1399,7 +1399,7 @@ static void rwnx_radar_cac_work(struct work_struct *ws)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
&ctxt->chan_def,
#endif
NL80211_RADAR_CAC_FINISHED, GFP_KERNEL);
NL80211_RADAR_CAC_FINISHED, GFP_KERNEL, 0);
rwnx_send_apm_stop_cac_req(rwnx_hw, radar->cac_vif);
rwnx_chanctx_unlink(radar->cac_vif);

Expand Down Expand Up @@ -1499,7 +1499,7 @@ void rwnx_radar_cancel_cac(struct rwnx_radar *radar)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
&ctxt->chan_def,
#endif
NL80211_RADAR_CAC_ABORTED, GFP_KERNEL);
NL80211_RADAR_CAC_ABORTED, GFP_KERNEL, 0);
rwnx_chanctx_unlink(radar->cac_vif);
}

Expand Down
8 changes: 4 additions & 4 deletions drivers/aic8800/aic8800_fdrv/rwnx_rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -1426,7 +1426,7 @@ int reord_flush_tid(struct aicwf_rx_priv *rx_priv, struct sk_buff *skb, u8 tid)
preorder_ctrl->enable = false;
spin_unlock_irqrestore(&preorder_ctrl->reord_list_lock, flags);
if (timer_pending(&preorder_ctrl->reord_timer))
ret = del_timer_sync(&preorder_ctrl->reord_timer);
ret = timer_delete_sync(&preorder_ctrl->reord_timer);
cancel_work_sync(&preorder_ctrl->reord_timer_work);

return 0;
Expand All @@ -1452,7 +1452,7 @@ void reord_deinit_sta(struct aicwf_rx_priv* rx_priv, struct reord_ctrl_info *reo
if(preorder_ctrl->enable){
preorder_ctrl->enable = false;
if (timer_pending(&preorder_ctrl->reord_timer)) {
ret = del_timer_sync(&preorder_ctrl->reord_timer);
ret = timer_delete_sync(&preorder_ctrl->reord_timer);
}
cancel_work_sync(&preorder_ctrl->reord_timer_work);
}
Expand Down Expand Up @@ -1664,7 +1664,7 @@ void reord_timeout_handler (struct timer_list *t)
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
struct reord_ctrl *preorder_ctrl = (struct reord_ctrl *)data;
#else
struct reord_ctrl *preorder_ctrl = from_timer(preorder_ctrl, t, reord_timer);
struct reord_ctrl *preorder_ctrl = container_of(t, struct reord_ctrl, reord_timer);
#endif

AICWFDBG(LOGTRACE, "%s Enter \r\n", __func__);
Expand Down Expand Up @@ -1831,7 +1831,7 @@ int reord_process_unit(struct aicwf_rx_priv *rx_priv, struct sk_buff *skb, u16 s
}
} else {
if(timer_pending(&preorder_ctrl->reord_timer)) {
ret = del_timer(&preorder_ctrl->reord_timer);
ret = timer_delete(&preorder_ctrl->reord_timer);
}
}

Expand Down
2 changes: 1 addition & 1 deletion drivers/aic8800/aic_load_fw/aic_bluetooth_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ module_init(aic_bluetooth_mod_init);
module_exit(aic_bluetooth_mod_exit);

#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
// MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
#endif

MODULE_FIRMWARE(DRV_CONFIG_FW_NAME);
Expand Down