if_em locking issue in resume path.
Jack Vogel
jfvogel at gmail.com
Mon Apr 7 20:26:04 UTC 2008
Yes, thanks for noticing this, however rather than fix it as your patch I
think I prefer just doing the CORE work, and then calling em_start(),
it checks for the interface being up and gets the TX LOCK.
I'll make the change as soon as I can.
Jack
On Mon, Apr 7, 2008 at 11:41 AM, Takanori Watanabe
<takawata at init-main.com> wrote:
> This patch resolve a problem which will cause lock assertion
> in resume path. Comment?
>
>
> --- if_em.c.~1.190.~ 2008-02-29 21:50:10.000000000 +0000
> +++ if_em.c 2008-04-08 03:04:05.000000000 +0000
> @@ -915,12 +915,13 @@
> EM_CORE_LOCK(adapter);
> em_init_locked(adapter);
> em_init_manageability(adapter);
> + EM_CORE_UNLOCK(adapter);
>
> + EM_TX_LOCK(adapter);
> if ((ifp->if_flags & IFF_UP) &&
> (ifp->if_drv_flags & IFF_DRV_RUNNING))
> em_start_locked(ifp);
> -
> - EM_CORE_UNLOCK(adapter);
> + EM_TX_UNLOCK(adapter);
>
> return bus_generic_resume(dev);
> }
>
More information about the freebsd-acpi
mailing list