mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
LinuxKPI: napi_schedule() requires return value, implement napi_is_scheduled()
A newer version of iwlwifi requires a return value from napi_schedule(); unclear if the function always should have been bool. Add the bool to test based on the napi_schedule_prep() result. Also add napi_is_scheduled() for rtw89. Sponsored by: The FreeBSD Foundation Reviewed by: emaste (previous version) Differential Revision: https://reviews.freebsd.org/D44591 (cherry picked from commit 21761f2ede4ebad13e78112b9409c1f20f946781)
This commit is contained in:
parent
6b2686ca9b
commit
25e0847ef7
2 changed files with 14 additions and 3 deletions
|
|
@ -230,7 +230,7 @@ void linuxkpi_netif_napi_add(struct net_device *, struct napi_struct *,
|
|||
void linuxkpi_netif_napi_del(struct napi_struct *);
|
||||
bool linuxkpi_napi_schedule_prep(struct napi_struct *);
|
||||
void linuxkpi___napi_schedule(struct napi_struct *);
|
||||
void linuxkpi_napi_schedule(struct napi_struct *);
|
||||
bool linuxkpi_napi_schedule(struct napi_struct *);
|
||||
void linuxkpi_napi_reschedule(struct napi_struct *);
|
||||
bool linuxkpi_napi_complete_done(struct napi_struct *, int);
|
||||
bool linuxkpi_napi_complete(struct napi_struct *);
|
||||
|
|
@ -272,6 +272,13 @@ netif_napi_add_tx(struct net_device *dev, struct napi_struct *napi,
|
|||
netif_napi_add(dev, napi, napi_poll);
|
||||
}
|
||||
|
||||
static inline bool
|
||||
napi_is_scheduled(struct napi_struct *napi)
|
||||
{
|
||||
|
||||
return (test_bit(LKPI_NAPI_FLAG_IS_SCHEDULED, &napi->state));
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
static inline void
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ linuxkpi___napi_schedule(struct napi_struct *napi)
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
linuxkpi_napi_schedule(struct napi_struct *napi)
|
||||
{
|
||||
|
||||
|
|
@ -195,8 +195,12 @@ linuxkpi_napi_schedule(struct napi_struct *napi)
|
|||
* iwlwifi calls this sequence instead of napi_schedule()
|
||||
* to be able to test the prep result.
|
||||
*/
|
||||
if (napi_schedule_prep(napi))
|
||||
if (napi_schedule_prep(napi)) {
|
||||
__napi_schedule(napi);
|
||||
return (true);
|
||||
}
|
||||
|
||||
return (false);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Reference in a new issue