Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 165399 | Differences between
and this patch

Collapse All | Expand All

(-)linux-gpib-3.2.15/drivers/gpib/ni_usb/ni_usb_gpib.c (-6 / +6 lines)
Lines 34-40 Link Here
34
static int ni_usb_parse_status_block(const uint8_t *buffer, struct ni_usb_status_block *status);
34
static int ni_usb_parse_status_block(const uint8_t *buffer, struct ni_usb_status_block *status);
35
static int ni_usb_set_interrupt_monitor(gpib_board_t *board, unsigned int monitored_bits);
35
static int ni_usb_set_interrupt_monitor(gpib_board_t *board, unsigned int monitored_bits);
36
36
37
static DECLARE_MUTEX(ni_usb_hotplug_lock);
37
static DEFINE_SEMAPHORE(ni_usb_hotplug_lock);
38
38
39
//calculates a reasonable timeout in that can be passed to usb functions
39
//calculates a reasonable timeout in that can be passed to usb functions
40
static inline unsigned long ni_usb_timeout_msecs(unsigned int usec)
40
static inline unsigned long ni_usb_timeout_msecs(unsigned int usec)
Lines 118-124 Link Here
118
	}
118
	}
119
	usb_dev = interface_to_usbdev(ni_priv->bus_interface);
119
	usb_dev = interface_to_usbdev(ni_priv->bus_interface);
120
	out_pipe = usb_sndbulkpipe(usb_dev, ni_priv->bulk_out_endpoint);
120
	out_pipe = usb_sndbulkpipe(usb_dev, ni_priv->bulk_out_endpoint);
121
	init_MUTEX_LOCKED(&context.complete);
121
	sema_init(&context.complete,0);
122
	context.timed_out = 0;
122
	context.timed_out = 0;
123
	usb_fill_bulk_urb(ni_priv->bulk_urb, usb_dev, out_pipe, data, data_length,
123
	usb_fill_bulk_urb(ni_priv->bulk_urb, usb_dev, out_pipe, data, data_length,
124
		&ni_usb_bulk_complete, &context);
124
		&ni_usb_bulk_complete, &context);
Lines 218-224 Link Here
218
	}
218
	}
219
	usb_dev = interface_to_usbdev(ni_priv->bus_interface);
219
	usb_dev = interface_to_usbdev(ni_priv->bus_interface);
220
	in_pipe = usb_rcvbulkpipe(usb_dev, ni_priv->bulk_in_endpoint);
220
	in_pipe = usb_rcvbulkpipe(usb_dev, ni_priv->bulk_in_endpoint);
221
	init_MUTEX_LOCKED(&context.complete);
221
	sema_init(&context.complete,0);
222
	context.timed_out = 0;
222
	context.timed_out = 0;
223
	usb_fill_bulk_urb(ni_priv->bulk_urb, usb_dev, in_pipe, data, data_length,
223
	usb_fill_bulk_urb(ni_priv->bulk_urb, usb_dev, in_pipe, data, data_length,
224
		&ni_usb_bulk_complete, &context);
224
		&ni_usb_bulk_complete, &context);
Lines 1516-1524 Link Here
1516
		return -ENOMEM;
1516
		return -ENOMEM;
1517
	ni_priv = board->private_data;
1517
	ni_priv = board->private_data;
1518
	memset(ni_priv, 0, sizeof(ni_usb_private_t));
1518
	memset(ni_priv, 0, sizeof(ni_usb_private_t));
1519
	init_MUTEX(&ni_priv->bulk_transfer_lock);
1519
	sema_init(&ni_priv->bulk_transfer_lock,1);
1520
	init_MUTEX(&ni_priv->control_transfer_lock);
1520
	sema_init(&ni_priv->control_transfer_lock,1);
1521
	init_MUTEX(&ni_priv->interrupt_transfer_lock);
1521
	sema_init(&ni_priv->interrupt_transfer_lock,1);
1522
	return 0;
1522
	return 0;
1523
}
1523
}
1524
1524

Return to bug 165399