Re: serial: 8250 fails to detect Exar XR16L2551 correctly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 13, 2005 at 11:04:56AM -0600, Alex Williamson wrote:
> On Mon, 2005-07-11 at 15:17 -0600, Alex Williamson wrote:
> >    No, I think this is a problem with the broken A2 UARTs getting
> > confused in serial8250_set_sleep().  If I remove either UART_CAP_SLEEP
> > or UART_CAP_EFR from the capabilities list for this UART, it behaves
> > normally.  Also, just commenting out the UART_CAP_EFR chunks of
> > set_sleep make it behave.  I'll ping Exar for more data.  Thanks,
> 
> Hi Russell,
> 
>    I don't know enough about the extended UART programming model, but I
> notice that when UART_CAP_EFR and UART_CAP_SLEEP are set on a UART, we
> set the UART_IERX_SLEEP bit in the UART_IER immediately after it's found
> and configured.

Ah, I see what's happening.  We're detecting the port and doing the
autoconfig.  Then we're checking to see if it's the console, and if
not putting it into low power mode.

Then we try to register the console, which may result in this UART
becoming a console.  So now we have a console which is in low power
mode.  Bad bad bad.  No cookie for the serial layer today.

> Are there known working configs where a UART w/ EFR and SLEEP are
> able to be used as a serial console?

No idea - I'm completely reliant on other folk to report problems
with the 8250 driver with their random versions of UARTs which are
out in the field.  I only have 16450, 16550A and 16750 UARTs here.

Hmm, I need to consider killing register_serial() and the associated
code in serial_core.c earlier so I can sanely fix this problem.  I
think it's time to give the remaining register_serial() users an
extra push... I haven't seen _any_ activity from the remaining users,
so I might have to take the attitude that "if they don't care, I don't
care about breaking their code" which would be rather shameful as far
as the users go.  (but hey, user pressure might wake up the maintainers.)

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux