On 2014/8/26 1:33, Paul Gortmaker wrote:
> commit 7400ce7ee9595432b2a1402b6ffcac9faf38d9ae (v3.4.92-76-g7400ce7ee959)
> was a backport of commit ebebd49a8eab5e9aa1b1f8f1614ccc3c2120f886 upstream
> ("8250/16?50: Add support for Broadcom TruManage redirected serial port")
>
> However, in the context of 3.4.x kernels, the pci setup code was
> expecting a struct uart_port and not a struct uart_8250_port, leading to
> the following concerning warnings:
>
> drivers/tty/serial/8250/8250_pci.c: In function ‘pci_brcm_trumanage_setup’:
> drivers/tty/serial/8250/8250_pci.c:1086:2: warning: passing argument 3 of
> ‘pci_default_setup’ from incompatible pointer type [enabled by default]
> int ret = pci_default_setup(priv, board, port, idx);
> ^
> drivers/tty/serial/8250/8250_pci.c:1036:1: note: expected ‘struct uart_port
> *’ but argument is of type ‘struct uart_8250_port *’
> pci_default_setup(struct serial_private *priv,
> ^
> drivers/tty/serial/8250/8250_pci.c: At top level:
> drivers/tty/serial/8250/8250_pci.c:1746:3: warning: initialization from
> incompatible pointer type [enabled by default]
> .setup = pci_brcm_trumanage_setup,
> ^
> drivers/tty/serial/8250/8250_pci.c:1746:3: warning: (near initialization for
> ‘pci_serial_quirks[56].setup’) [enabled by default]
>
> I'd also expect the initialization to not function correctly, and
> perhaps dereference random garbage due to this. Since the uart_port
> is a field within the uart_8250_port, the adaptation to fix these
> warnings is a straightforward removal of a layer of indirection.
>
> Cc: Stephen Hurd <[email protected]>
> Cc: Michael Chan <[email protected]>
> Cc: Ben Hutchings <[email protected]>
> Cc: Rui Xiang <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Signed-off-by: Paul Gortmaker <[email protected]>
Applied to 3.4. Thanks.
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html