public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Stable kernel 3.8.4/3.9-rc3 breaks PNP serial port
@ 2013-04-02 15:53 Josh Boyer
  2013-04-02 16:23 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 4+ messages in thread
From: Josh Boyer @ 2013-04-02 15:53 UTC (permalink / raw)
  To: Jiri Slaby, Greg Kroah-Hartman, Sean Young
  Cc: tkil, linux-serial, linux-kernel

Hi All,

We've had a report [1] that the 3.8.4 stable kernel makes a PNP serial
port stop working.  After testing 3.8.3, the reporter narrowed it down
to stable commit eec98f82c637 (tty/8250_pnp: serial port detection
regression since v3.7) (upstream commit 77e372a3d82).  Reverting that
single commit from 3.8.5 allows the serial port to continue working.

The machine in question is using an AMI UEFI implementation as the
firmware, and on 3.8.3 the serial port has the following in
/sys/bus/pnp/devices/00:0a/resources

	state = active
	io disabled
	irq 4
	dma disabled

With 3.8.[45], the same file has:

	state = disabled
	io disabled
	irq 4
	dma disabled

In both cases, the io and dma resources are disabled, and an IRQ is
assigned.  However, the state remains active for the port on 3.8.3.

The offending commit mentions this is a BIOS bug from InsydeH2O and that
the port is bogus in that case, but we have something similar here with
an AMI UEFI implementation (Version: 0406 Release Date: 06/06/2012)
where the port isn't bogus.

I'm not sure exactly what the solution should be here.  Any thoughts?

josh

[1] https://bugzilla.redhat.com/show_bug.cgi?id=928246

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Stable kernel 3.8.4/3.9-rc3 breaks PNP serial port
  2013-04-02 15:53 Stable kernel 3.8.4/3.9-rc3 breaks PNP serial port Josh Boyer
@ 2013-04-02 16:23 ` Greg Kroah-Hartman
  2013-04-02 16:34   ` Sean Young
  0 siblings, 1 reply; 4+ messages in thread
From: Greg Kroah-Hartman @ 2013-04-02 16:23 UTC (permalink / raw)
  To: Josh Boyer, Sean Young; +Cc: Jiri Slaby, tkil, linux-serial, linux-kernel

On Tue, Apr 02, 2013 at 11:53:44AM -0400, Josh Boyer wrote:
> Hi All,
> 
> We've had a report [1] that the 3.8.4 stable kernel makes a PNP serial
> port stop working.  After testing 3.8.3, the reporter narrowed it down
> to stable commit eec98f82c637 (tty/8250_pnp: serial port detection
> regression since v3.7) (upstream commit 77e372a3d82).  Reverting that
> single commit from 3.8.5 allows the serial port to continue working.
> 
> The machine in question is using an AMI UEFI implementation as the
> firmware, and on 3.8.3 the serial port has the following in
> /sys/bus/pnp/devices/00:0a/resources
> 
> 	state = active
> 	io disabled
> 	irq 4
> 	dma disabled
> 
> With 3.8.[45], the same file has:
> 
> 	state = disabled
> 	io disabled
> 	irq 4
> 	dma disabled
> 
> In both cases, the io and dma resources are disabled, and an IRQ is
> assigned.  However, the state remains active for the port on 3.8.3.
> 
> The offending commit mentions this is a BIOS bug from InsydeH2O and that
> the port is bogus in that case, but we have something similar here with
> an AMI UEFI implementation (Version: 0406 Release Date: 06/06/2012)
> where the port isn't bogus.
> 
> I'm not sure exactly what the solution should be here.  Any thoughts?

Sean, should I just revert this patch now, and wait for a better fix
later?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Stable kernel 3.8.4/3.9-rc3 breaks PNP serial port
  2013-04-02 16:23 ` Greg Kroah-Hartman
@ 2013-04-02 16:34   ` Sean Young
  2013-04-02 22:11     ` Sean Young
  0 siblings, 1 reply; 4+ messages in thread
From: Sean Young @ 2013-04-02 16:34 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Josh Boyer, Jiri Slaby, tkil, linux-serial, linux-kernel

On Tue, Apr 02, 2013 at 09:23:36AM -0700, Greg Kroah-Hartman wrote:
> On Tue, Apr 02, 2013 at 11:53:44AM -0400, Josh Boyer wrote:
> > Hi All,
> > 
> > We've had a report [1] that the 3.8.4 stable kernel makes a PNP serial
> > port stop working.  After testing 3.8.3, the reporter narrowed it down
> > to stable commit eec98f82c637 (tty/8250_pnp: serial port detection
> > regression since v3.7) (upstream commit 77e372a3d82).  Reverting that
> > single commit from 3.8.5 allows the serial port to continue working.
> > 
> > The machine in question is using an AMI UEFI implementation as the
> > firmware, and on 3.8.3 the serial port has the following in
> > /sys/bus/pnp/devices/00:0a/resources
> > 
> > 	state = active
> > 	io disabled
> > 	irq 4
> > 	dma disabled
> > 
> > With 3.8.[45], the same file has:
> > 
> > 	state = disabled
> > 	io disabled
> > 	irq 4
> > 	dma disabled
> > 
> > In both cases, the io and dma resources are disabled, and an IRQ is
> > assigned.  However, the state remains active for the port on 3.8.3.
> > 
> > The offending commit mentions this is a BIOS bug from InsydeH2O and that
> > the port is bogus in that case, but we have something similar here with
> > an AMI UEFI implementation (Version: 0406 Release Date: 06/06/2012)
> > where the port isn't bogus.
> > 
> > I'm not sure exactly what the solution should be here.  Any thoughts?
> 
> Sean, should I just revert this patch now, and wait for a better fix
> later?

Looks like although the pnp io is disabled, it does contain a valid port 
number, else pnp detection would fail in 3.8.3. We're a little stricter
in 3.8.4, but it should fall back to legacy port detection -- the port
and irq are standard.

I don't understand why the legacy port detection (see SERIAL_PORT_DFNS)
isn't working. Since the fallback isn't working properly maybe this 
patch should be reverted for now.

If the pnp information had some virtue we wouldn't have these problems.


Sean

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Stable kernel 3.8.4/3.9-rc3 breaks PNP serial port
  2013-04-02 16:34   ` Sean Young
@ 2013-04-02 22:11     ` Sean Young
  0 siblings, 0 replies; 4+ messages in thread
From: Sean Young @ 2013-04-02 22:11 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Josh Boyer, Jiri Slaby, tkil, linux-serial, linux-kernel,
	Vincent Deffontaines

On Tue, Apr 02, 2013 at 05:34:35PM +0100, Sean Young wrote:
> On Tue, Apr 02, 2013 at 09:23:36AM -0700, Greg Kroah-Hartman wrote:
> > On Tue, Apr 02, 2013 at 11:53:44AM -0400, Josh Boyer wrote:
> > > Hi All,
> > > 
> > > We've had a report [1] that the 3.8.4 stable kernel makes a PNP serial
> > > port stop working.  After testing 3.8.3, the reporter narrowed it down
> > > to stable commit eec98f82c637 (tty/8250_pnp: serial port detection
> > > regression since v3.7) (upstream commit 77e372a3d82).  Reverting that
> > > single commit from 3.8.5 allows the serial port to continue working.
> > > 
> > > The machine in question is using an AMI UEFI implementation as the
> > > firmware, and on 3.8.3 the serial port has the following in
> > > /sys/bus/pnp/devices/00:0a/resources
> > > 
> > > 	state = active
> > > 	io disabled
> > > 	irq 4
> > > 	dma disabled
> > > 
> > > With 3.8.[45], the same file has:
> > > 
> > > 	state = disabled
> > > 	io disabled
> > > 	irq 4
> > > 	dma disabled
> > > 
> > > In both cases, the io and dma resources are disabled, and an IRQ is
> > > assigned.  However, the state remains active for the port on 3.8.3.
> > > 
> > > The offending commit mentions this is a BIOS bug from InsydeH2O and that
> > > the port is bogus in that case, but we have something similar here with
> > > an AMI UEFI implementation (Version: 0406 Release Date: 06/06/2012)
> > > where the port isn't bogus.
> > > 
> > > I'm not sure exactly what the solution should be here.  Any thoughts?
> > 
> > Sean, should I just revert this patch now, and wait for a better fix
> > later?
> 
> Looks like although the pnp io is disabled, it does contain a valid port 
> number, else pnp detection would fail in 3.8.3. We're a little stricter
> in 3.8.4, but it should fall back to legacy port detection -- the port
> and irq are standard.

The device is disabled after pnp probe fails, so the legacy probe fails
as well. I can think of two options:

1) check if both io and irq are disabled, as they are on the bogus bios 
   for which the patch was written, but not on this board
2) try to detect the port at the pnp io/irq provided, enabled or not, and
   fail if no port can be found

I think the second is better but I'm not sure how much code needs to change
for that. I'll try over the next couple of evenings.


Sean

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-04-02 23:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-02 15:53 Stable kernel 3.8.4/3.9-rc3 breaks PNP serial port Josh Boyer
2013-04-02 16:23 ` Greg Kroah-Hartman
2013-04-02 16:34   ` Sean Young
2013-04-02 22:11     ` Sean Young

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox