diff --git a/drivers/staging/hievent/hievent_driver.c b/drivers/staging/hievent/hievent_driver.c index d723eae41d148fcce925370c9c1df5a214c66035..83c9dc831df7796b9917d154e0e091566a79c573 100644 --- a/drivers/staging/hievent/hievent_driver.c +++ b/drivers/staging/hievent/hievent_driver.c @@ -130,6 +130,11 @@ static ssize_t hievent_read(struct file *file, char __user *user_buf, (void)mutex_lock(&hievent_dev.mtx); + if (hievent_dev.size == 0) { + retval = 0; + goto out; + } + retval = hievent_read_ring_head_buffer((unsigned char *)&header, sizeof(header)); if (retval < 0) { diff --git a/drivers/staging/hilog/hilog.c b/drivers/staging/hilog/hilog.c index 11adcd5308497aea7d1f70591b2cc4c5532768ae..178dcb6dd5b1b4553226ac6e3e0223db90dee53d 100644 --- a/drivers/staging/hilog/hilog.c +++ b/drivers/staging/hilog/hilog.c @@ -153,6 +153,11 @@ static ssize_t hilog_read(struct file *file, (void)mutex_lock(&hilog_dev.mtx); + if (hilog_dev.size == 0) { + retval = 0; + goto out; + } + retval = hilog_read_ring_head_buffer((unsigned char *)&header, sizeof(header)); if (retval < 0) {