adutux.c (8ff546b801e5cca0337c0f0a7234795d0a6309a1) | adutux.c (5b5e0928f742cfa853b2411400a1b19fa379d758) |
---|---|
1/* 2 * adutux - driver for ADU devices from Ontrak Control Systems 3 * This is an experimental driver. Use at your own risk. 4 * This driver is not supported by Ontrak Control Systems. 5 * 6 * Copyright (c) 2003 John Homppi (SCO, leave this notice here) 7 * 8 * This program is free software; you can redistribute it and/or --- 549 unchanged lines hidden (view full) --- 558 remove_wait_queue(&dev->write_wait, &waita); 559 retval = mutex_lock_interruptible(&dev->mtx); 560 if (retval) { 561 retval = bytes_written ? bytes_written : retval; 562 goto exit_nolock; 563 } 564 565 dev_dbg(&dev->udev->dev, | 1/* 2 * adutux - driver for ADU devices from Ontrak Control Systems 3 * This is an experimental driver. Use at your own risk. 4 * This driver is not supported by Ontrak Control Systems. 5 * 6 * Copyright (c) 2003 John Homppi (SCO, leave this notice here) 7 * 8 * This program is free software; you can redistribute it and/or --- 549 unchanged lines hidden (view full) --- 558 remove_wait_queue(&dev->write_wait, &waita); 559 retval = mutex_lock_interruptible(&dev->mtx); 560 if (retval) { 561 retval = bytes_written ? bytes_written : retval; 562 goto exit_nolock; 563 } 564 565 dev_dbg(&dev->udev->dev, |
566 "%s : in progress, count = %Zd\n", | 566 "%s : in progress, count = %zd\n", |
567 __func__, count); 568 } else { 569 spin_unlock_irqrestore(&dev->buflock, flags); 570 set_current_state(TASK_RUNNING); 571 remove_wait_queue(&dev->write_wait, &waita); | 567 __func__, count); 568 } else { 569 spin_unlock_irqrestore(&dev->buflock, flags); 570 set_current_state(TASK_RUNNING); 571 remove_wait_queue(&dev->write_wait, &waita); |
572 dev_dbg(&dev->udev->dev, "%s : sending, count = %Zd\n", | 572 dev_dbg(&dev->udev->dev, "%s : sending, count = %zd\n", |
573 __func__, count); 574 575 /* write the data into interrupt_out_buffer from userspace */ 576 buffer_size = usb_endpoint_maxp(dev->interrupt_out_endpoint); 577 bytes_to_write = count > buffer_size ? buffer_size : count; 578 dev_dbg(&dev->udev->dev, | 573 __func__, count); 574 575 /* write the data into interrupt_out_buffer from userspace */ 576 buffer_size = usb_endpoint_maxp(dev->interrupt_out_endpoint); 577 bytes_to_write = count > buffer_size ? buffer_size : count; 578 dev_dbg(&dev->udev->dev, |
579 "%s : buffer_size = %Zd, count = %Zd, bytes_to_write = %Zd\n", | 579 "%s : buffer_size = %zd, count = %zd, bytes_to_write = %zd\n", |
580 __func__, buffer_size, count, bytes_to_write); 581 582 if (copy_from_user(dev->interrupt_out_buffer, buffer, bytes_to_write) != 0) { 583 retval = -EFAULT; 584 goto exit; 585 } 586 587 /* send off the urb */ --- 233 unchanged lines hidden --- | 580 __func__, buffer_size, count, bytes_to_write); 581 582 if (copy_from_user(dev->interrupt_out_buffer, buffer, bytes_to_write) != 0) { 583 retval = -EFAULT; 584 goto exit; 585 } 586 587 /* send off the urb */ --- 233 unchanged lines hidden --- |