mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-08 07:21:27 +00:00
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: pcnet32: remove private net_device_stats structure vortex_up should initialize "err" pcnet32: remove compile warnings in non-napi mode pcnet32: fix non-napi packet reception fix EMAC driver for proper napi_synchronize API sky2: shutdown cleanup napi_synchronize: waiting for NAPI forcedeth msi bugfix gianfar: fix obviously wrong #ifdef CONFIG_GFAR_NAPI placement fs_enet: Update for API changes gianfar: remove orphan struct. forcedeth: fix rx-work condition in nv_rx_process_optimized() too
This commit is contained in:
commit
4fa4d23fa2
10 changed files with 108 additions and 79 deletions
|
@ -407,6 +407,24 @@ static inline void napi_enable(struct napi_struct *n)
|
|||
clear_bit(NAPI_STATE_SCHED, &n->state);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
/**
|
||||
* napi_synchronize - wait until NAPI is not running
|
||||
* @n: napi context
|
||||
*
|
||||
* Wait until NAPI is done being scheduled on this context.
|
||||
* Waits till any outstanding processing completes but
|
||||
* does not disable future activations.
|
||||
*/
|
||||
static inline void napi_synchronize(const struct napi_struct *n)
|
||||
{
|
||||
while (test_bit(NAPI_STATE_SCHED, &n->state))
|
||||
msleep(1);
|
||||
}
|
||||
#else
|
||||
# define napi_synchronize(n) barrier()
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The DEVICE structure.
|
||||
* Actually, this whole structure is a big mistake. It mixes I/O
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue