Messages in this thread |  | | Subject | Re: 3.8-rc regression with pps-ldisc due to 70ece7a731 | From | Peter Hurley <> | Date | Wed, 06 Feb 2013 11:15:43 -0500 |
| |
On Mon, 2013-02-04 at 02:08 -0500, George Spelvin wrote: > Just a quick update: the previously posted patch *does* work; > the crash I was experiencing was pilot error. > > My NTP server is running a 3.8.0-rc6-dirty kernel right now. > > I'll research whether that race I talk about in pps_tty_dcd_change > is actually possible or not (can interrupts start arriving before the > ->open() method returns?) and work out a finished minimal bugfix patch > if nobody else finds a better solution.
You are not supposed to receive ldisc->dcd_change() calls outside the open()/close() pair.
The ldisc is separately enabled/halted which is supposed to prevent ldisc usage if a ldisc reference cannot be acquired (because it's halted). The reference is acquired prior to calling the ->dcd_change() routine.
In the patch series I sent, I changed the BUG_ON() to WARN_ON_ONCE(). Please reply to that patch with the snipped kernel log output if it warns in your testing and we'll go from there.
> (Have I mentioned how ANNOYING it is when the kernel dumps more than > 50 lines of crash message to the console screen and then locks > the keyboard so I can't scroll back?)
netconsole on 2nd machine (see Documentation/networking/netconsole.txt)
Regards, Peter Hurley
|  |