File tree Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -244,7 +244,7 @@ void dw8250_setup_port(struct uart_port *p)
244
244
struct dw8250_port_data * pd = p -> private_data ;
245
245
struct dw8250_data * data = to_dw8250_data (pd );
246
246
struct uart_8250_port * up = up_to_u8250p (p );
247
- u32 reg ;
247
+ u32 reg , old_dlf ;
248
248
249
249
pd -> hw_rs485_support = dw8250_detect_rs485_hw (p );
250
250
if (pd -> hw_rs485_support ) {
@@ -270,9 +270,11 @@ void dw8250_setup_port(struct uart_port *p)
270
270
dev_dbg (p -> dev , "Designware UART version %c.%c%c\n" ,
271
271
(reg >> 24 ) & 0xff , (reg >> 16 ) & 0xff , (reg >> 8 ) & 0xff );
272
272
273
+ /* Preserve value written by firmware or bootloader */
274
+ old_dlf = dw8250_readl_ext (p , DW_UART_DLF );
273
275
dw8250_writel_ext (p , DW_UART_DLF , ~0U );
274
276
reg = dw8250_readl_ext (p , DW_UART_DLF );
275
- dw8250_writel_ext (p , DW_UART_DLF , 0 );
277
+ dw8250_writel_ext (p , DW_UART_DLF , old_dlf );
276
278
277
279
if (reg ) {
278
280
pd -> dlf_size = fls (reg );
You can’t perform that action at this time.
0 commit comments