[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130719061017.GA3334@electric-eye.fr.zoreil.com>
Date: Fri, 19 Jul 2013 08:10:17 +0200
From: Francois Romieu <romieu@...zoreil.com>
To: Peter Wu <lekensteyn@...il.com>
Cc: netdev@...r.kernel.org,
Realtek linux nic maintainers <nic_swsd@...ltek.com>
Subject: Re: r8169: is the work queue is initialized at wrong place?
Peter Wu <lekensteyn@...il.com> :
> On Thursday 18 July 2013 23:53:43 Francois Romieu wrote:
[...]
> > (or cancel_work_sync in rtl8169_close to reduce the scope)
> Will this also work with multiple adapters? I currently have an on-board chip
> using the r8169 driver and a separate PCI card.
As stated by David, yes.
> > I do not see how the current code could hurt but it's really ugly.
> When I googled for the warning, I found some hint about something not being
> initialized. From that I guessed that rtl_open is never called when the
> network interface is not brought up (which seems to match the documentation of
> struct net_device_ops[1]).
You guessed right. Please note that the relevant struct is zeroed during
initialization (see net/core/dev.c::alloc_netdev_mqs). While it's true
that the struct is not initialized for use by the device, cancel_work_sync
will cope with it (bail out thanks to a 0 bitflag).
You can ignore the warning and proceed with the driver as-is.
I'll fix it anyway. It's too ugly to be kept as is.
Side-note: if you can publish your eeprom reading code, it would be
interesting to know how it differs from what has already been tried
in the past.
--
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