On Tue, Aug 29, 2006 at 10:53:31PM -0300, Luiz Fernando N. Capitulino wrote:
>
> Hi Sam,
>
> | Sorry for not doing this SubmittingPatches-compliantly the first time,
> | I hope I got everything all right this time.
>
> I think you did, but I can't resist to make some minor comments. :)
>
> | +static ssize_t set_speed(struct device *dev, struct device_attribute *attr,
> | + const char *buf, size_t count)
> | +{
> | + struct usb_interface *intf = to_usb_interface(dev);
> | + struct trancevibrator *tv = usb_get_intfdata(intf);
> | + int temp, retval;
> | +
> | + temp = simple_strtoul(buf, NULL, 10);
> | + if (temp > 255)
> | + temp = 255;
> | + else if (temp < 0)
> | + temp = 0;
> | + tv->speed = temp;
> | +
> | + dev_dbg(&tv->udev->dev, "speed = %d\n", tv->speed);
> | +
> | + /* Set speed */
> | + retval = usb_control_msg(tv->udev, usb_sndctrlpipe(tv->udev, 0),
> | + 0x01, /* vendor request: set speed */
> | + USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_OTHER,
> | + tv->speed, /* speed value */
> | + 0, NULL, 0, USB_CTRL_GET_TIMEOUT);
> | + if (retval)
> | + dev_dbg(&tv->udev->dev, "retval = %d\n", retval);
>
> Isn't it good to report an error here?
Oops, forgot to make this fix, will go do that...
>
> | + return count;
> | +}
> | +
> | +static DEVICE_ATTR(speed, S_IWUGO | S_IRUGO, show_speed, set_speed);
> | +
> | +static int tv_probe(struct usb_interface *interface,
> | + const struct usb_device_id *id)
> | +{
> | + struct usb_device *udev = interface_to_usbdev(interface);
> | + struct trancevibrator *dev = NULL;
> | + int retval = -ENOMEM;
>
> You don't need to initialize 'dev', and you can drop 'retval' and return
> -ENOMEM directly in the error label.
I made that fix.
> | +
> | + dev = kzalloc(sizeof(struct trancevibrator), GFP_KERNEL);
> | + if (dev == NULL) {
> | + dev_err(&interface->dev, "Out of memory\n");
> | + goto error;
> | + }
> | +
> | + dev->udev = usb_get_dev(udev);
> | + usb_set_intfdata (interface, dev);
> | + device_create_file(&interface->dev, &dev_attr_speed);
>
> Shouldn't the probe fail if device_create_file() fail?
I also made that fix.
thanks,
greg k-h
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel