Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6125a400354c4a02b9dad0e5d8128f9dc08cfd51 Commit: 6125a400354c4a02b9dad0e5d8128f9dc08cfd51 Parent: 1a54f49e8989462cfc9cab0c377b2d4e60e5b70a Author: Rene van Paassen <[EMAIL PROTECTED]> AuthorDate: Mon May 21 00:31:59 2007 -0400 Committer: Dmitry Torokhov <[EMAIL PROTECTED]> CommitDate: Tue Jul 10 00:35:16 2007 -0400
Input: aiptek - put sensible warnings in probe Added warnings to the points where the tablet probe may fail Signed-off-by: Rene van Paassen <[EMAIL PROTECTED]> Signed-off-by: Dmitry Torokhov <[EMAIL PROTECTED]> --- drivers/input/tablet/aiptek.c | 28 ++++++++++++++++++++++------ 1 files changed, 22 insertions(+), 6 deletions(-) diff --git a/drivers/input/tablet/aiptek.c b/drivers/input/tablet/aiptek.c index 8c62afe..7fb15af 100644 --- a/drivers/input/tablet/aiptek.c +++ b/drivers/input/tablet/aiptek.c @@ -1670,17 +1670,23 @@ aiptek_probe(struct usb_interface *intf, const struct usb_device_id *id) aiptek = kzalloc(sizeof(struct aiptek), GFP_KERNEL); inputdev = input_allocate_device(); - if (!aiptek || !inputdev) + if (!aiptek || !inputdev) { + warn("aiptek: cannot allocate memory or input device"); goto fail1; + } aiptek->data = usb_buffer_alloc(usbdev, AIPTEK_PACKET_LENGTH, GFP_ATOMIC, &aiptek->data_dma); - if (!aiptek->data) + if (!aiptek->data) { + warn("aiptek: cannot allocate usb buffer"); goto fail1; + } aiptek->urb = usb_alloc_urb(0, GFP_KERNEL); - if (!aiptek->urb) + if (!aiptek->urb) { + warn("aiptek: cannot allocate urb"); goto fail2; + } aiptek->inputdev = inputdev; aiptek->usbdev = usbdev; @@ -1807,6 +1813,13 @@ aiptek_probe(struct usb_interface *intf, const struct usb_device_id *id) } } + /* Murphy says that some day someone will have a tablet that fails the + above test. That's you, Frederic Rodrigo */ + if (i == ARRAY_SIZE(speeds)) { + info("input: Aiptek tried all speeds, no sane response"); + goto fail2; + } + /* Associate this driver's struct with the usb interface. */ usb_set_intfdata(intf, aiptek); @@ -1814,15 +1827,18 @@ aiptek_probe(struct usb_interface *intf, const struct usb_device_id *id) /* Set up the sysfs files */ err = sysfs_create_group(&intf->dev.kobj, &aiptek_attribute_group); - if (err) + if (err) { + warn("aiptek: cannot create sysfs group err: %d", err); goto fail3; + } /* Register the tablet as an Input Device */ err = input_register_device(aiptek->inputdev); - if (err) + if (err) { + warn("aiptek: input_register_device returned err: %d", err); goto fail4; - + } return 0; fail4: sysfs_remove_group(&intf->dev.kobj, &aiptek_attribute_group); - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html