|
@@ -657,17 +657,18 @@ static int dell_wmi_check_descriptor_buffer(struct wmi_device *wdev)
|
|
|
dev_err(&wdev->dev,
|
|
|
"Dell descriptor buffer has invalid length (%d)\n",
|
|
|
obj->buffer.length);
|
|
|
- if (obj->buffer.length < 16) {
|
|
|
- ret = -EINVAL;
|
|
|
- goto out;
|
|
|
- }
|
|
|
+ ret = -EINVAL;
|
|
|
+ goto out;
|
|
|
}
|
|
|
|
|
|
buffer = (u32 *)obj->buffer.pointer;
|
|
|
|
|
|
- if (buffer[0] != 0x4C4C4544 && buffer[1] != 0x494D5720)
|
|
|
- dev_warn(&wdev->dev, "Dell descriptor buffer has invalid signature (%*ph)\n",
|
|
|
+ if (buffer[0] != 0x4C4C4544 && buffer[1] != 0x494D5720) {
|
|
|
+ dev_err(&wdev->dev, "Dell descriptor buffer has invalid signature (%*ph)\n",
|
|
|
8, buffer);
|
|
|
+ ret = -EINVAL;
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
|
|
|
if (buffer[2] != 0 && buffer[2] != 1)
|
|
|
dev_warn(&wdev->dev, "Dell descriptor buffer has unknown version (%d)\n",
|