[PATCH 1/2] tty: serial: remove hub6 multiport support

Hugo Villeneuve hugo at hugovil.com
Fri Oct 16 10:17:00 PDT 2026


Hi Arnd,

On Fri, 16 Oct 2026 18:16:20 +0200
"Arnd Bergmann" <arnd at arndb.de> wrote:

> On Fri, Oct 16, 2026, at 17:56, Hugo Villeneuve wrote:
> > On Fri, 16 Oct 2026 14:59:47 +0200
> 
> >>  	retinfo->custom_divisor  = uport->custom_divisor;
> >> -	retinfo->hub6	    = uport->hub6;
> >> +	retinfo->hub6		 = 0;
> >
> > Would a comment here help?
> >
> > 	retinfo->hub6		 = 0; /* No longer supported */
> 
> Good idea, added.
> 
> >> @@ -924,7 +921,6 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
> >>  	change_port = !(uport->flags & UPF_FIXED_PORT)
> >>  		&& (new_port != uport->iobase ||
> >>  		    (unsigned long)new_info->iomem_base != uport->mapbase ||
> >> -		    new_info->hub6 != uport->hub6 ||
> >
> > Maybe keep this so that change_port is true if someone sets hub6 to a
> > value other than zero (see below)?
> 
> Right, this would be fairly harmless as nothing looks at the field
> afterwards but it makes sense for consistency.
> 
> I've moved the hub6 check up before change_port now to behave the
> same way for regular users and root:

Yes that works too.

Reviewed-by: Hugo Villeneuve <hvilleneuve at dimonoff.com>


> 
> @@ -935,6 +935,11 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
>                 if (uartclk == 0)
>                         return -EINVAL;
>         }
> +
> +       /* hub6 is no longer supported */
> +       if (new_info->hub6 != 0)
> +               return -EINVAL;
> +
>         if (!capable(CAP_SYS_ADMIN)) {
>                 if (change_irq || change_port ||
>                     (new_info->baud_base != uport->uartclk / 16) ||
> @@ -950,10 +955,6 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
>                 goto check_and_exit;
>         }
>  
> -       /* hub6 is no longer supported */
> -       if (new_info->hub6 != 0)
> -               return -EINVAL;
> -
>         if (change_irq || change_port) {
>                 retval = security_locked_down(LOCKDOWN_TIOCSSERIAL);
>                 if (retval)
> 
> Thanks for taking a look!
> 
>      Arnd
> 


-- 
Hugo Villeneuve



More information about the linux-arm-kernel mailing list