X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=drivers%2Fhid%2Fhid-axff.c;h=fbe4e16ab0297f778402eca7d9e44d2621bd1154;hb=52f96cd135b160d44db4cb62a5b614b3bca20fbc;hp=6654c1550e2e7af9e73b439ae6b7cc45ee31cc88;hpb=e0f14b8ca3882988d15f0b1b853ae3c29d8c9a83;p=linux-2.6-microblaze.git diff --git a/drivers/hid/hid-axff.c b/drivers/hid/hid-axff.c index 6654c1550e2e..fbe4e16ab029 100644 --- a/drivers/hid/hid-axff.c +++ b/drivers/hid/hid-axff.c @@ -63,13 +63,20 @@ static int axff_init(struct hid_device *hid) { struct axff_device *axff; struct hid_report *report; - struct hid_input *hidinput = list_first_entry(&hid->inputs, struct hid_input, list); + struct hid_input *hidinput; struct list_head *report_list =&hid->report_enum[HID_OUTPUT_REPORT].report_list; - struct input_dev *dev = hidinput->input; + struct input_dev *dev; int field_count = 0; int i, j; int error; + if (list_empty(&hid->inputs)) { + hid_err(hid, "no inputs found\n"); + return -ENODEV; + } + hidinput = list_first_entry(&hid->inputs, struct hid_input, list); + dev = hidinput->input; + if (list_empty(report_list)) { hid_err(hid, "no output reports found\n"); return -ENODEV;