USB: make transfer_buffer_lengths in struct urb field u32
Roel Kluin pointed out that transfer_buffer_lengths in struct urb was declared as an 'int'. This patch changes this field to be 'u32' to prevent any potential negative conversion and comparison errors. This triggered a few compiler warning messages when these fields were being used with the min macro, so they have also been fixed up in this patch. Cc: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
@@ -1568,7 +1568,7 @@ static int ftdi_elan_edset_input(struct usb_ftdi *ftdi, u8 ed_number,
|
||||
struct u132_target *target = &ftdi->target[ed];
|
||||
struct u132_command *command = &ftdi->command[
|
||||
COMMAND_MASK & ftdi->command_next];
|
||||
int remaining_length = urb->transfer_buffer_length -
|
||||
u32 remaining_length = urb->transfer_buffer_length -
|
||||
urb->actual_length;
|
||||
command->header = 0x82 | (ed << 5);
|
||||
if (remaining_length == 0) {
|
||||
@@ -1702,7 +1702,7 @@ static int ftdi_elan_edset_output(struct usb_ftdi *ftdi, u8 ed_number,
|
||||
| (address << 0);
|
||||
command->width = usb_maxpacket(urb->dev, urb->pipe,
|
||||
usb_pipeout(urb->pipe));
|
||||
command->follows = min(1024,
|
||||
command->follows = min_t(u32, 1024,
|
||||
urb->transfer_buffer_length -
|
||||
urb->actual_length);
|
||||
command->value = 0;
|
||||
@@ -1766,7 +1766,7 @@ static int ftdi_elan_edset_single(struct usb_ftdi *ftdi, u8 ed_number,
|
||||
mutex_lock(&ftdi->u132_lock);
|
||||
command_size = ftdi->command_next - ftdi->command_head;
|
||||
if (command_size < COMMAND_SIZE) {
|
||||
int remaining_length = urb->transfer_buffer_length -
|
||||
u32 remaining_length = urb->transfer_buffer_length -
|
||||
urb->actual_length;
|
||||
struct u132_target *target = &ftdi->target[ed];
|
||||
struct u132_command *command = &ftdi->command[
|
||||
|
Reference in New Issue
Block a user