Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Docs: usb: update writesize, copy_from_user, usb_fill_bulk_urb, usb_submit_urb

update code examples writesize, copy_from_user, usb_fill_bulk_urb,
usb_submit_urb in skel_write() according to usb-skeleton.c

Signed-off-by: Philipp Hortmann <philipp.g.hortmann@gmail.com>
Link: https://lore.kernel.org/r/0c581a83dfc1a8c37e97dfa7279d333f367a9787.1635591623.git.philipp.g.hortmann@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Philipp Hortmann and committed by
Greg Kroah-Hartman
6352f24b 925ed163

+13 -11
+13 -11
Documentation/driver-api/usb/writing_usb_driver.rst
··· 188 188 subsystem. This can be seen in the following code:: 189 189 190 190 /* we can only write as much as 1 urb will hold */ 191 - bytes_written = (count > skel->bulk_out_size) ? skel->bulk_out_size : count; 191 + size_t writesize = min_t(size_t, count, MAX_TRANSFER); 192 192 193 193 /* copy the data from user space into our urb */ 194 - copy_from_user(skel->write_urb->transfer_buffer, buffer, bytes_written); 194 + copy_from_user(buf, user_buffer, writesize); 195 195 196 196 /* set up our urb */ 197 - usb_fill_bulk_urb(skel->write_urb, 198 - skel->dev, 199 - usb_sndbulkpipe(skel->dev, skel->bulk_out_endpointAddr), 200 - skel->write_urb->transfer_buffer, 201 - bytes_written, 197 + usb_fill_bulk_urb(urb, 198 + dev->udev, 199 + usb_sndbulkpipe(dev->udev, dev->bulk_out_endpointAddr), 200 + buf, 201 + writesize, 202 202 skel_write_bulk_callback, 203 - skel); 203 + dev); 204 204 205 205 /* send the data out the bulk port */ 206 - result = usb_submit_urb(skel->write_urb); 207 - if (result) { 208 - err("Failed submitting write urb, error %d", result); 206 + retval = usb_submit_urb(urb, GFP_KERNEL); 207 + if (retval) { 208 + dev_err(&dev->interface->dev, 209 + "%s - failed submitting write urb, error %d\n", 210 + __func__, retval); 209 211 } 210 212 211 213