git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
drivers
/
net
/
wireless
/
wavelan.c
diff --git
a/drivers/net/wireless/wavelan.c
b/drivers/net/wireless/wavelan.c
index
5b69bef
..
ff192e9
100644
(file)
--- a/
drivers/net/wireless/wavelan.c
+++ b/
drivers/net/wireless/wavelan.c
@@
-1695,8
+1695,8
@@
static int wv_frequency_list(unsigned long ioaddr, /* I/O port of the card */
/* Look in the table if the frequency is allowed */
if (table[9 - (freq / 16)] & (1 << (freq % 16))) {
/* Compute approximate channel number */
/* Look in the table if the frequency is allowed */
if (table[9 - (freq / 16)] & (1 << (freq % 16))) {
/* Compute approximate channel number */
- while ((
c < NELS(channel_bands)
) &&
- (((channel_bands[c] >> 1) - 24) < freq))
+ while ((
((channel_bands[c] >> 1) - 24) < freq
) &&
+ (c < NELS(channel_bands)))
c++;
list[i].i = c; /* Set the list index */
c++;
list[i].i = c; /* Set the list index */
@@
-2903,7
+2903,6
@@
static int wavelan_packet_xmit(struct sk_buff *skb, struct net_device * dev)
{
net_local *lp = (net_local *) dev->priv;
unsigned long flags;
{
net_local *lp = (net_local *) dev->priv;
unsigned long flags;
- char data[ETH_ZLEN];
#ifdef DEBUG_TX_TRACE
printk(KERN_DEBUG "%s: ->wavelan_packet_xmit(0x%X)\n", dev->name,
#ifdef DEBUG_TX_TRACE
printk(KERN_DEBUG "%s: ->wavelan_packet_xmit(0x%X)\n", dev->name,
@@
-2938,15
+2937,14
@@
static int wavelan_packet_xmit(struct sk_buff *skb, struct net_device * dev)
* able to detect collisions, therefore in theory we don't really
* need to pad. Jean II */
if (skb->len < ETH_ZLEN) {
* able to detect collisions, therefore in theory we don't really
* need to pad. Jean II */
if (skb->len < ETH_ZLEN) {
- memset(data, 0, ETH_ZLEN);
- memcpy(data, skb->data, skb->len);
- /* Write packet on the card */
- if(wv_packet_write(dev, data, ETH_ZLEN))
- return 1; /* We failed */
+ skb = skb_padto(skb, ETH_ZLEN);
+ if (skb == NULL)
+ return 0;
}
}
- else if(wv_packet_write(dev, skb->data, skb->len))
- return 1; /* We failed */
+ /* Write packet on the card */
+ if(wv_packet_write(dev, skb->data, skb->len))
+ return 1; /* We failed */
dev_kfree_skb(skb);
dev_kfree_skb(skb);
@@
-4308,7
+4306,7
@@
out:
* Insertion of the module
* I'm now quite proud of the multi-device support.
*/
* Insertion of the module
* I'm now quite proud of the multi-device support.
*/
-int
__init
init_module(void)
+int init_module(void)
{
int ret = -EIO; /* Return error if no cards found */
int i;
{
int ret = -EIO; /* Return error if no cards found */
int i;