|
@@ -502,6 +502,13 @@ static int cadence_uart_post_load(void *opaque, int version_id)
|
|
|
{
|
|
|
CadenceUARTState *s = opaque;
|
|
|
|
|
|
+ /* Ensure these two aren't invalid numbers */
|
|
|
+ if (s->r[R_BRGR] < 1 || s->r[R_BRGR] & ~0xFFFF ||
|
|
|
+ s->r[R_BDIV] <= 3 || s->r[R_BDIV] & ~0xFF) {
|
|
|
+ /* Value is invalid, abort */
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
uart_parameters_setup(s);
|
|
|
uart_update_status(s);
|
|
|
return 0;
|