aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/comedi
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2013-07-29 17:47:06 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-31 17:44:59 -0700
commit1c379e94b38d5e575643212e6890de6a3380e6fe (patch)
tree0eac485085c1041508d12263fb2b736abe4a4fbc /drivers/staging/comedi
parentstaging: comedi: usbduxsigma: 'dac_commands' does not need to be kzalloc()'d (diff)
downloadlinux-dev-1c379e94b38d5e575643212e6890de6a3380e6fe.tar.xz
linux-dev-1c379e94b38d5e575643212e6890de6a3380e6fe.zip
staging: comedi: usbduxsigma: init 'pwm_buf_sz' in usbduxsigma_auto_attach()
Initialize this variable with then_ai_urbs and n_ao_urbs in the attach. Then usbduxsigma_alloc_usb_buffers() can just check the variable to determine if the urb needs to be allocated. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/comedi')
-rw-r--r--drivers/staging/comedi/drivers/usbduxsigma.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/staging/comedi/drivers/usbduxsigma.c b/drivers/staging/comedi/drivers/usbduxsigma.c
index df563953fc26..68a3cd2bb173 100644
--- a/drivers/staging/comedi/drivers/usbduxsigma.c
+++ b/drivers/staging/comedi/drivers/usbduxsigma.c
@@ -1600,19 +1600,16 @@ static int usbduxsigma_alloc_usb_buffers(struct comedi_device *dev)
urb->interval = 1; /* frames */
}
- if (devpriv->high_speed) {
- /* max bulk ep size in high speed */
- devpriv->pwm_buf_sz = 512;
+ if (devpriv->pwm_buf_sz) {
urb = usb_alloc_urb(0, GFP_KERNEL);
if (!urb)
return -ENOMEM;
devpriv->pwm_urb = urb;
- urb->transfer_buffer = kzalloc(devpriv->pwm_buf_sz, GFP_KERNEL);
+
+ urb->transfer_buffer = kzalloc(devpriv->pwm_buf_sz,
+ GFP_KERNEL);
if (!urb->transfer_buffer)
return -ENOMEM;
- } else {
- devpriv->pwm_urb = NULL;
- devpriv->pwm_buf_sz = 0;
}
return 0;
@@ -1687,9 +1684,11 @@ static int usbduxsigma_auto_attach(struct comedi_device *dev,
if (devpriv->high_speed) {
devpriv->n_ai_urbs = NUMOFINBUFFERSHIGH;
devpriv->n_ao_urbs = NUMOFOUTBUFFERSHIGH;
+ devpriv->pwm_buf_sz = 512;
} else {
devpriv->n_ai_urbs = NUMOFINBUFFERSFULL;
devpriv->n_ao_urbs = NUMOFOUTBUFFERSFULL;
+ devpriv->pwm_buf_sz = 0;
}
ret = usbduxsigma_alloc_usb_buffers(dev);