Alexandr Nedvedicky [alexandr.nedvedi...@oracle.com] wrote:
> diff --git a/sys/net/if_tpmr.c b/sys/net/if_tpmr.c
> index f6eb99f347c..4ffa5b18293 100644
> @@ -725,10 +759,9 @@ tpmr_p_dtor(struct tpmr_softc *sc, struct tpmr_port *p, 
> const char *op)
>       if_detachhook_del(ifp0, &p->p_dtask);
>       if_linkstatehook_del(ifp0, &p->p_ltask);
>  
> -     smr_barrier();
> +     tpmr_p_rele(p);
>  
> -     if_put(ifp0);
> -     free(p, M_DEVBUF, sizeof(*p));
> +     smr_barrier();
>  
>       if (ifp->if_link_state != LINK_STATE_DOWN) {
>               ifp->if_link_state = LINK_STATE_DOWN;

The order is changing here, it was smr_barrier and then the
equivalent of tpmr_p_rele, now it is tpmr_p_rele first,
smr_barrier second, is that change intentional ?

Chris

Reply via email to