[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150907215251.GA4897@electric-eye.fr.zoreil.com>
Date: Mon, 7 Sep 2015 23:52:51 +0200
From: Francois Romieu <romieu@...zoreil.com>
To: Corinna Vinschen <vinschen@...hat.com>
Cc: netdev@...r.kernel.org, David Miller <davem@...emloft.net>,
pomidorabelisima@...il.com
Subject: Re: [PATCH net 3/3] r8169: increase the lifespan of the hardware
counters dump area.
Corinna Vinschen <vinschen@...hat.com> :
[...]
> I have a bit of a problem with this patch. It crashes when loading the
> driver manually w/ modprobe. For some reason dev_get_stats is called
> during rtl_init_one and at that time the counters pointer is NULL, so
> the kernel gets a SEGV.
>
> After I worked around that I got a SEGV in
> rtl_remove_one, which I still have to find out why. I didn't test with
> the latest kernel, though, so I still have to check if that's the reason
> for the crashes. That takes a bit longer, I just wanted to let you
> know.
Call me stupid: I forgot that it's perfectly fine to request the stats
of a down interface. :o/
Updated patch is on the way.
> There's also a problem with rtl8169_cmd_counters: It always calls
> rtl_udelay_loop_wait_low w/ rtl_reset_counters_cond, even when called
> from rtl8169_update_counters, where it should call
> rtl_udelay_loop_wait_low w/ rtl_counters_cond to check for the
> CounterDump flag, rather than for the CounterReset flag.
>
> For now I applied the below patch, but I think it's a bit ugly to
> conditionalize the rtl_cond struct by the incoming flag value.
<captain obvious>
Let's check both at once:
return RTL_R32(CounterAddrLow) & (CounterDump | CounterReset);
</captain obvious>
Thanks for reviewing.
--
Ueimor
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists