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

Reply via email to