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