rs485->flags &= ~SER_RS485_RTS_AFTER_SEND;
        }
 
-       /* clamp the delays to [0, 100ms] */
-       rs485->delay_rts_before_send = min(rs485->delay_rts_before_send, 100U);
-       rs485->delay_rts_after_send  = min(rs485->delay_rts_after_send, 100U);
-
-       memset(rs485->padding, 0, sizeof(rs485->padding));
-       port->rs485 = *rs485;
-
        gpiod_set_value(port->rs485_term_gpio,
                        rs485->flags & SER_RS485_TERMINATE_BUS);
 
         * Both serial8250_em485_init() and serial8250_em485_destroy()
         * are idempotent.
         */
-       if (rs485->flags & SER_RS485_ENABLED) {
-               int ret = serial8250_em485_init(up);
-
-               if (ret) {
-                       rs485->flags &= ~SER_RS485_ENABLED;
-                       port->rs485.flags &= ~SER_RS485_ENABLED;
-               }
-               return ret;
-       }
+       if (rs485->flags & SER_RS485_ENABLED)
+               return serial8250_em485_init(up);
 
        serial8250_em485_destroy(up);
        return 0;