RE: [PATCH v3] tty: serial: samsung_tty: loopback mode support

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

 



> > +	if (mctrl & TIOCM_LOOP)
> > +		ucon |= S3C2410_UCON_LOOPBACK;
> > +	else
> > +		ucon &= ~S3C2410_UCON_LOOPBACK;
> > +
> > +	wr_regl(port, S3C2410_UCON, ucon);
> 
> S3C2410_UCON must be modified at least under the local_irq_save() or port
> lock, otherwise it breaks kernel console operation on older Exynos SoCs
> (especially when DMA mode is used).
> 
> The above read-modify-write sequence should be replaced with the following
> pattern:
> 
>          if (mctrl & TIOCM_LOOP)
>                  s3c24xx_set_bit(port, S3C2410_UCON_LOOPBACK, S3C2410_UCON);
>          else
>                  s3c24xx_clear_bit(port, S3C2410_UCON_LOOPBACK, S3C2410_UCON);

All the set_mctrl() call can be protected by spin_[un]lock_irq[save/restore] with port->lock.
So, I think it is not required.

Best Regards,
Chanho Park





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux