[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20130221.130318.641947665855008551.davem@davemloft.net>
Date: Thu, 21 Feb 2013 13:03:18 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: jim_baxter@...tor.com
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH 1/1] net: fec: fix miss init spinlock
From: Jim Baxter <jim_baxter@...tor.com>
Date: Thu, 21 Feb 2013 17:59:23 +0000 (UTC)
> Fabio Estevam <festevam <at> gmail.com> writes:
>
>>
>> On Thu, Feb 21, 2013 at 2:07 PM, Jim Baxter <jim_baxter <at> mentor.com> wrote:
>> > Is the general issue in this driver that the fec_probe function:
>> > request_irq(irq, fec_enet_interrupt, IRQF_DISABLED, pdev->name, ndev);
>> >
>> > is called before fec_ptp_init() and fec_enet_init() have been called so that
>> > there is a chance the fec_enet_interrupt can occur before the hardware and
> data
>> > structures are fully setup?
>>
>> The scenario you described is fixed by the patch that Frank proposed at:
>> http://patchwork.ozlabs.org/patch/222164/
>>
>
> That is a good patch that will stop interrupts occurring before request_irq is
> called.
>
> What about the problem of fec_enet_interrupt calling fec_ptp_start_cyclecounter
> before fec_ptp_init has been called?
>
> Should fec_enet_init and fec_ptp_init be setup before the request_irq is called?
This is a reocurring theme, and there is only one answer.
All software state MUCH be completely, and fully, initialized before
request_irq() is invoked.
There is no other valid way to proceed in this area.
--
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