diff options
Diffstat (limited to 'drivers/gnss/serial.c')
-rw-r--r-- | drivers/gnss/serial.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gnss/serial.c b/drivers/gnss/serial.c index b01ba4438501..def64b36d994 100644 --- a/drivers/gnss/serial.c +++ b/drivers/gnss/serial.c @@ -13,6 +13,7 @@ #include <linux/of.h> #include <linux/pm.h> #include <linux/pm_runtime.h> +#include <linux/sched.h> #include <linux/serdev.h> #include <linux/slab.h> @@ -63,8 +64,8 @@ static int gnss_serial_write_raw(struct gnss_device *gdev, int ret; /* write is only buffered synchronously */ - ret = serdev_device_write(serdev, buf, count, 0); - if (ret < 0) + ret = serdev_device_write(serdev, buf, count, MAX_SCHEDULE_TIMEOUT); + if (ret < 0 || ret < count) return ret; /* FIXME: determine if interrupted? */ |