* [patch 2.6.13 1/3] 3c59x: bounds checking for hw_checksums
2005-09-12 14:48 [patch 2.6.13 0/3] 3c59x misc fixes John W. Linville
@ 2005-09-12 14:48 ` John W. Linville
2005-09-12 14:48 ` [patch 2.6.13 2/3] 3c59x: cleanup init of module parameter arrays John W. Linville
0 siblings, 1 reply; 4+ messages in thread
From: John W. Linville @ 2005-09-12 14:48 UTC (permalink / raw)
To: linux-kernel, netdev; +Cc: akpm, jgarzik
Add bounds checking to usage of hw_checksums module parameter array.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
drivers/net/3c59x.c | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -1536,9 +1536,11 @@ static int __devinit vortex_probe1(struc
dev->hard_start_xmit = boomerang_start_xmit;
/* Actually, it still should work with iommu. */
dev->features |= NETIF_F_SG;
- if (((hw_checksums[card_idx] == -1) && (vp->drv_flags & HAS_HWCKSM)) ||
- (hw_checksums[card_idx] == 1)) {
- dev->features |= NETIF_F_IP_CSUM;
+ if ((card_idx < MAX_UNITS) &&
+ (((hw_checksums[card_idx] == -1) &&
+ (vp->drv_flags & HAS_HWCKSM)) ||
+ (hw_checksums[card_idx] == 1))) {
+ dev->features |= NETIF_F_IP_CSUM;
}
} else {
dev->hard_start_xmit = vortex_start_xmit;
@@ -2811,9 +2813,10 @@ vortex_close(struct net_device *dev)
}
#if DO_ZEROCOPY
- if ( vp->rx_csumhits &&
- ((vp->drv_flags & HAS_HWCKSM) == 0) &&
- (hw_checksums[vp->card_idx] == -1)) {
+ if (vp->rx_csumhits &&
+ ((vp->drv_flags & HAS_HWCKSM) == 0) &&
+ ((vp->card_idx >= MAX_UNITS) ||
+ (hw_checksums[vp->card_idx] == -1))) {
printk(KERN_WARNING "%s supports hardware checksums, and we're not using them!\n", dev->name);
}
#endif
^ permalink raw reply [flat|nested] 4+ messages in thread
* [patch 2.6.13 0/3] 3c59x misc fixes
@ 2005-09-12 14:48 John W. Linville
2005-09-12 14:48 ` [patch 2.6.13 1/3] 3c59x: bounds checking for hw_checksums John W. Linville
0 siblings, 1 reply; 4+ messages in thread
From: John W. Linville @ 2005-09-12 14:48 UTC (permalink / raw)
To: linux-kernel, netdev; +Cc: akpm, jgarzik
A collection of patches for the 3c59x driver:
-- Add bounds checking for hw_checksums array
-- Use cleaner method for array initialization
-- Fix some typos in the module param descriptions
Patches to follow...
^ permalink raw reply [flat|nested] 4+ messages in thread
* [patch 2.6.13 3/3] 3c59x: fix some grammar in module parameter descriptions
2005-09-12 14:48 ` [patch 2.6.13 2/3] 3c59x: cleanup init of module parameter arrays John W. Linville
@ 2005-09-12 14:48 ` John W. Linville
0 siblings, 0 replies; 4+ messages in thread
From: John W. Linville @ 2005-09-12 14:48 UTC (permalink / raw)
To: linux-kernel, netdev; +Cc: akpm, jgarzik
Correct several (apparently cut & paste) grammatical typos in module
parameter descriptions. They seem to have originated as copies of
the description for "global_options".
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
drivers/net/3c59x.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -943,18 +943,18 @@ MODULE_PARM_DESC(debug, "3c59x debug lev
MODULE_PARM_DESC(options, "3c59x: Bits 0-3: media type, bit 4: bus mastering, bit 9: full duplex");
MODULE_PARM_DESC(global_options, "3c59x: same as options, but applies to all NICs if options is unset");
MODULE_PARM_DESC(full_duplex, "3c59x full duplex setting(s) (1)");
-MODULE_PARM_DESC(global_full_duplex, "3c59x: same as full_duplex, but applies to all NICs if options is unset");
+MODULE_PARM_DESC(global_full_duplex, "3c59x: same as full_duplex, but applies to all NICs if full_duplex is unset");
MODULE_PARM_DESC(hw_checksums, "3c59x Hardware checksum checking by adapter(s) (0-1)");
MODULE_PARM_DESC(flow_ctrl, "3c59x 802.3x flow control usage (PAUSE only) (0-1)");
MODULE_PARM_DESC(enable_wol, "3c59x: Turn on Wake-on-LAN for adapter(s) (0-1)");
-MODULE_PARM_DESC(global_enable_wol, "3c59x: same as enable_wol, but applies to all NICs if options is unset");
+MODULE_PARM_DESC(global_enable_wol, "3c59x: same as enable_wol, but applies to all NICs if enable_wol is unset");
MODULE_PARM_DESC(rx_copybreak, "3c59x copy breakpoint for copy-only-tiny-frames");
MODULE_PARM_DESC(max_interrupt_work, "3c59x maximum events handled per interrupt");
MODULE_PARM_DESC(compaq_ioaddr, "3c59x PCI I/O base address (Compaq BIOS problem workaround)");
MODULE_PARM_DESC(compaq_irq, "3c59x PCI IRQ number (Compaq BIOS problem workaround)");
MODULE_PARM_DESC(compaq_device_id, "3c59x PCI device ID (Compaq BIOS problem workaround)");
MODULE_PARM_DESC(watchdog, "3c59x transmit timeout in milliseconds");
-MODULE_PARM_DESC(global_use_mmio, "3c59x: same as use_mmio, but applies to all NICs if options is unset");
+MODULE_PARM_DESC(global_use_mmio, "3c59x: same as use_mmio, but applies to all NICs if use_mmio is unset");
MODULE_PARM_DESC(use_mmio, "3c59x: use memory-mapped PCI I/O resource (0-1)");
#ifdef CONFIG_NET_POLL_CONTROLLER
^ permalink raw reply [flat|nested] 4+ messages in thread
* [patch 2.6.13 2/3] 3c59x: cleanup init of module parameter arrays
2005-09-12 14:48 ` [patch 2.6.13 1/3] 3c59x: bounds checking for hw_checksums John W. Linville
@ 2005-09-12 14:48 ` John W. Linville
2005-09-12 14:48 ` [patch 2.6.13 3/3] 3c59x: fix some grammar in module parameter descriptions John W. Linville
0 siblings, 1 reply; 4+ messages in thread
From: John W. Linville @ 2005-09-12 14:48 UTC (permalink / raw)
To: linux-kernel, netdev; +Cc: akpm, jgarzik
Beautify the array initilizations for the module parameters.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
drivers/net/3c59x.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -903,12 +903,12 @@ static void set_8021q_mode(struct net_de
/* This driver uses 'options' to pass the media type, full-duplex flag, etc. */
/* Option count limit only -- unlimited interfaces are supported. */
#define MAX_UNITS 8
-static int options[MAX_UNITS] = { -1, -1, -1, -1, -1, -1, -1, -1,};
-static int full_duplex[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1};
-static int hw_checksums[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1};
-static int flow_ctrl[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1};
-static int enable_wol[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1};
-static int use_mmio[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1};
+static int options[MAX_UNITS] = { [0 ... MAX_UNITS-1] = -1 };
+static int full_duplex[MAX_UNITS] = { [0 ... MAX_UNITS-1] = -1 };
+static int hw_checksums[MAX_UNITS] = { [0 ... MAX_UNITS-1] = -1 };
+static int flow_ctrl[MAX_UNITS] = { [0 ... MAX_UNITS-1] = -1 };
+static int enable_wol[MAX_UNITS] = { [0 ... MAX_UNITS-1] = -1 };
+static int use_mmio[MAX_UNITS] = { [0 ... MAX_UNITS-1] = -1 };
static int global_options = -1;
static int global_full_duplex = -1;
static int global_enable_wol = -1;
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-09-12 14:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-12 14:48 [patch 2.6.13 0/3] 3c59x misc fixes John W. Linville
2005-09-12 14:48 ` [patch 2.6.13 1/3] 3c59x: bounds checking for hw_checksums John W. Linville
2005-09-12 14:48 ` [patch 2.6.13 2/3] 3c59x: cleanup init of module parameter arrays John W. Linville
2005-09-12 14:48 ` [patch 2.6.13 3/3] 3c59x: fix some grammar in module parameter descriptions John W. Linville
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).