Search Linux Wireless

[PATCH 16/21] staging: vt6656: main_usb.c Replace DEVICE_PARAM RxDescriptors0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Replace with vnt_rx_buffers using module_param_named and
MODULE_PARM_DESC

Check user doe not set rx_buffer beyond the define limits of driver

Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx>
---
 drivers/staging/vt6656/main_usb.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c
index ed56b60..6e79c4c 100644
--- a/drivers/staging/vt6656/main_usb.c
+++ b/drivers/staging/vt6656/main_usb.c
@@ -78,7 +78,9 @@ MODULE_DESCRIPTION(DEVICE_FULL_DRV_NAM);
 	MODULE_PARM_DESC(N, D)
 
 #define RX_DESC_DEF0 64
-DEVICE_PARAM(RxDescriptors0, "Number of receive usb desc buffer");
+static int vnt_rx_buffers = RX_DESC_DEF0;
+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");
@@ -203,7 +205,13 @@ static void usb_device_reset(struct vnt_private *pDevice);
 static void device_set_options(struct vnt_private *priv)
 {
 	priv->cbTD = TX_DESC_DEF0;
-	priv->cbRD = RX_DESC_DEF0;
+
+	/* Set number of RX buffers */
+	if (vnt_rx_buffers < CB_MIN_RX_DESC || vnt_rx_buffers > CB_MAX_RX_DESC)
+		priv->cbRD = RX_DESC_DEF0;
+	else
+		priv->cbRD = vnt_rx_buffers;
+
 	priv->byShortRetryLimit = SHORT_RETRY_DEF;
 	priv->byLongRetryLimit = LONG_RETRY_DEF;
 	priv->op_mode = NL80211_IFTYPE_UNSPECIFIED;
-- 
2.0.1

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux