staging: vt6656: main_usb.c Replace DEVICE_PARAM TxDescriptors0
authorMalcolm Priestley <tvboxspy@gmail.com>
Wed, 16 Jul 2014 21:22:07 +0000 (22:22 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Jul 2014 01:01:53 +0000 (18:01 -0700)
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 <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6656/main_usb.c

index 6e79c4c012fc408844b7e65c9918f2bcbb2e1cf4..46f84910accb40f027b88396248480680d56fa81 100644 (file)
@@ -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)