From 3220e3a43de9111b1425f64260db6f8aaa817f27 Mon Sep 17 00:00:00 2001 From: Malcolm Priestley Date: Wed, 16 Jul 2014 22:22:07 +0100 Subject: [PATCH] staging: vt6656: main_usb.c Replace DEVICE_PARAM TxDescriptors0 Replace with vnt_tx_buffers using module_param_named and MODULE_PARM_DESC Check user doe not set tx_buffer beyond the define limits of driver Signed-off-by: Malcolm Priestley Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vt6656/main_usb.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c index 6e79c4c..46f8491 100644 --- a/drivers/staging/vt6656/main_usb.c +++ b/drivers/staging/vt6656/main_usb.c @@ -83,7 +83,10 @@ module_param_named(rx_buffers, vnt_rx_buffers, int, 0644); MODULE_PARM_DESC(rx_buffers, "Number of receive usb rx buffers"); #define TX_DESC_DEF0 64 -DEVICE_PARAM(TxDescriptors0, "Number of transmit usb desc buffer"); +static int vnt_tx_buffers = TX_DESC_DEF0; +module_param_named(tx_buffers, vnt_rx_buffers, int, 0644); +MODULE_PARM_DESC(tx_buffers, "Number of receive usb tx buffers"); + #define CHANNEL_DEF 6 DEVICE_PARAM(Channel, "Channel number"); @@ -204,7 +207,11 @@ static void usb_device_reset(struct vnt_private *pDevice); static void device_set_options(struct vnt_private *priv) { - priv->cbTD = TX_DESC_DEF0; + /* Set number of TX buffers */ + if (vnt_tx_buffers < CB_MIN_TX_DESC || vnt_tx_buffers > CB_MAX_TX_DESC) + priv->cbTD = TX_DESC_DEF0; + else + priv->cbTD = vnt_tx_buffers; /* Set number of RX buffers */ if (vnt_rx_buffers < CB_MIN_RX_DESC || vnt_rx_buffers > CB_MAX_RX_DESC) -- 2.7.4