Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
783707a1
Commit
783707a1
authored
Aug 10, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://gkernel.bkbits.net/net-drivers-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
ba7f30a8
428e1c17
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
50 additions
and
203 deletions
+50
-203
drivers/net/hp-plus.c
drivers/net/hp-plus.c
+4
-4
drivers/net/pcmcia/axnet_cs.c
drivers/net/pcmcia/axnet_cs.c
+1
-1
drivers/net/tulip/tulip_core.c
drivers/net/tulip/tulip_core.c
+1
-1
drivers/net/wireless/atmel.c
drivers/net/wireless/atmel.c
+2
-2
drivers/net/wireless/prism54/isl_ioctl.c
drivers/net/wireless/prism54/isl_ioctl.c
+11
-6
drivers/net/wireless/prism54/islpci_dev.c
drivers/net/wireless/prism54/islpci_dev.c
+19
-10
drivers/net/wireless/prism54/islpci_hotplug.c
drivers/net/wireless/prism54/islpci_hotplug.c
+9
-163
drivers/net/wireless/prism54/islpci_mgt.h
drivers/net/wireless/prism54/islpci_mgt.h
+0
-15
drivers/net/wireless/prism54/oid_mgt.c
drivers/net/wireless/prism54/oid_mgt.c
+3
-1
No files found.
drivers/net/hp-plus.c
View file @
783707a1
...
...
@@ -233,7 +233,7 @@ static int __init hpp_probe1(struct net_device *dev, int ioaddr)
}
/* Set the wrap registers for string I/O reads. */
outw
((
HP_START_PG
+
TX_
2X_PAGES
)
|
((
HP_STOP_PG
-
1
)
<<
8
),
ioaddr
+
14
);
outw
((
HP_START_PG
+
TX_
PAGES
/
2
)
|
((
HP_STOP_PG
-
1
)
<<
8
),
ioaddr
+
14
);
/* Set the base address to point to the NIC, not the "real" base! */
dev
->
base_addr
=
ioaddr
+
NIC_OFFSET
;
...
...
@@ -247,7 +247,7 @@ static int __init hpp_probe1(struct net_device *dev, int ioaddr)
ei_status
.
name
=
name
;
ei_status
.
word16
=
0
;
/* Agggghhhhh! Debug time: 2 days! */
ei_status
.
tx_start_page
=
HP_START_PG
;
ei_status
.
rx_start_page
=
HP_START_PG
+
TX_
2X_PAGES
;
ei_status
.
rx_start_page
=
HP_START_PG
+
TX_
PAGES
/
2
;
ei_status
.
stop_page
=
HP_STOP_PG
;
ei_status
.
reset_8390
=
&
hpp_reset_8390
;
...
...
@@ -261,7 +261,7 @@ static int __init hpp_probe1(struct net_device *dev, int ioaddr)
ei_status
.
block_output
=
&
hpp_mem_block_output
;
ei_status
.
get_8390_hdr
=
&
hpp_mem_get_8390_hdr
;
dev
->
mem_start
=
mem_start
;
ei_status
.
rmem_start
=
dev
->
mem_start
+
TX_
2X_PAGES
*
256
;
ei_status
.
rmem_start
=
dev
->
mem_start
+
TX_
PAGES
/
2
*
256
;
dev
->
mem_end
=
ei_status
.
rmem_end
=
dev
->
mem_start
+
(
HP_STOP_PG
-
HP_START_PG
)
*
256
;
}
...
...
@@ -297,7 +297,7 @@ hpp_open(struct net_device *dev)
/* Set the wrap registers for programmed-I/O operation. */
outw
(
HW_Page
,
ioaddr
+
HP_PAGING
);
outw
((
HP_START_PG
+
TX_
2X_PAGES
)
|
((
HP_STOP_PG
-
1
)
<<
8
),
ioaddr
+
14
);
outw
((
HP_START_PG
+
TX_
PAGES
/
2
)
|
((
HP_STOP_PG
-
1
)
<<
8
),
ioaddr
+
14
);
/* Select the operational page. */
outw
(
Perf_Page
,
ioaddr
+
HP_PAGING
);
...
...
drivers/net/pcmcia/axnet_cs.c
View file @
783707a1
...
...
@@ -1178,7 +1178,7 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
}
else
if
(
ei_local
->
tx2
==
0
)
{
output_page
=
ei_local
->
tx_start_page
+
TX_
1X_PAGES
;
output_page
=
ei_local
->
tx_start_page
+
TX_
PAGES
/
2
;
ei_local
->
tx2
=
send_length
;
if
(
ei_debug
&&
ei_local
->
tx1
>
0
)
printk
(
KERN_DEBUG
"%s: idle transmitter, tx1=%d, lasttx=%d, txing=%d.
\n
"
,
...
...
drivers/net/tulip/tulip_core.c
View file @
783707a1
...
...
@@ -1535,7 +1535,7 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
}
}
/* Lite-On boards have the address byte-swapped. */
if
((
dev
->
dev_addr
[
0
]
==
0xA0
||
dev
->
dev_addr
[
0
]
==
0xC0
)
if
((
dev
->
dev_addr
[
0
]
==
0xA0
||
dev
->
dev_addr
[
0
]
==
0xC0
||
dev
->
dev_addr
[
0
]
==
0x02
)
&&
dev
->
dev_addr
[
1
]
==
0x00
)
for
(
i
=
0
;
i
<
6
;
i
+=
2
)
{
char
tmp
=
dev
->
dev_addr
[
i
];
...
...
drivers/net/wireless/atmel.c
View file @
783707a1
...
...
@@ -2647,12 +2647,12 @@ static void send_authentication_request(struct atmel_private *priv, u8 *challeng
memcpy
(
header
.
addr3
,
priv
->
CurrentBSSID
,
6
);
if
(
priv
->
wep_is_on
)
{
auth
.
alg
=
C80211_MGMT_AAN_SHAREDKEY
;
auth
.
alg
=
cpu_to_le16
(
C80211_MGMT_AAN_SHAREDKEY
)
;
/* no WEP for authentication frames with TrSeqNo 1 */
if
(
priv
->
CurrentAuthentTransactionSeqNum
!=
1
)
header
.
frame_ctl
|=
cpu_to_le16
(
IEEE802_11_FCTL_WEP
);
}
else
{
auth
.
alg
=
C80211_MGMT_AAN_OPENSYSTEM
;
auth
.
alg
=
cpu_to_le16
(
C80211_MGMT_AAN_OPENSYSTEM
)
;
}
auth
.
status
=
0
;
...
...
drivers/net/wireless/prism54/isl_ioctl.c
View file @
783707a1
...
...
@@ -436,7 +436,7 @@ prism54_get_range(struct net_device *ndev, struct iw_request_info *info,
{
struct
iw_range
*
range
=
(
struct
iw_range
*
)
extra
;
islpci_private
*
priv
=
netdev_priv
(
ndev
);
char
*
data
;
u8
*
data
;
int
i
,
m
,
rvalue
;
struct
obj_frequencies
*
freq
;
union
oid_res_t
r
;
...
...
@@ -513,8 +513,7 @@ prism54_get_range(struct net_device *ndev, struct iw_request_info *info,
i
=
0
;
while
((
i
<
IW_MAX_BITRATES
)
&&
(
*
data
!=
0
))
{
/* the result must be in bps. The card gives us 500Kbps */
range
->
bitrate
[
i
]
=
(
__s32
)
(
*
data
>>
1
);
range
->
bitrate
[
i
]
*=
1000000
;
range
->
bitrate
[
i
]
=
*
data
*
500000
;
i
++
;
data
++
;
}
...
...
@@ -820,9 +819,11 @@ prism54_set_rate(struct net_device *ndev,
return
mgt_set_request
(
priv
,
DOT11_OID_PROFILES
,
0
,
&
profile
);
}
if
((
ret
=
mgt_get_request
(
priv
,
DOT11_OID_SUPPORTEDRATES
,
0
,
NULL
,
&
r
)))
ret
=
mgt_get_request
(
priv
,
DOT11_OID_SUPPORTEDRATES
,
0
,
NULL
,
&
r
);
if
(
ret
)
{
kfree
(
r
.
ptr
);
return
ret
;
}
rate
=
(
u32
)
(
vwrq
->
value
/
500000
);
data
=
r
.
ptr
;
...
...
@@ -840,6 +841,7 @@ prism54_set_rate(struct net_device *ndev,
}
if
(
!
data
[
i
])
{
kfree
(
r
.
ptr
);
return
-
EINVAL
;
}
...
...
@@ -888,8 +890,11 @@ prism54_get_rate(struct net_device *ndev,
vwrq
->
value
=
r
.
u
*
500000
;
/* request the device for the enabled rates */
if
((
rvalue
=
mgt_get_request
(
priv
,
DOT11_OID_RATES
,
0
,
NULL
,
&
r
)))
rvalue
=
mgt_get_request
(
priv
,
DOT11_OID_RATES
,
0
,
NULL
,
&
r
);
if
(
rvalue
)
{
kfree
(
r
.
ptr
);
return
rvalue
;
}
data
=
r
.
ptr
;
vwrq
->
fixed
=
(
data
[
0
]
!=
0
)
&&
(
data
[
1
]
==
0
);
kfree
(
r
.
ptr
);
...
...
drivers/net/wireless/prism54/islpci_dev.c
View file @
783707a1
...
...
@@ -39,6 +39,7 @@
#include "oid_mgt.h"
#define ISL3877_IMAGE_FILE "isl3877"
#define ISL3886_IMAGE_FILE "isl3886"
#define ISL3890_IMAGE_FILE "isl3890"
static
int
prism54_bring_down
(
islpci_private
*
);
...
...
@@ -185,6 +186,9 @@ islpci_interrupt(int irq, void *config, struct pt_regs *regs)
void
*
device
=
priv
->
device_base
;
int
powerstate
=
ISL38XX_PSM_POWERSAVE_STATE
;
/* lock the interrupt handler */
spin_lock
(
&
priv
->
slock
);
/* received an interrupt request on a shared IRQ line
* first check whether the device is in sleep mode */
reg
=
readl
(
device
+
ISL38XX_CTRL_STAT_REG
);
...
...
@@ -194,14 +198,10 @@ islpci_interrupt(int irq, void *config, struct pt_regs *regs)
#if VERBOSE > SHOW_ERROR_MESSAGES
DEBUG
(
SHOW_TRACING
,
"Assuming someone else called the IRQ
\n
"
);
#endif
spin_unlock
(
&
priv
->
slock
);
return
IRQ_NONE
;
}
if
(
islpci_get_state
(
priv
)
!=
PRV_STATE_SLEEP
)
powerstate
=
ISL38XX_PSM_ACTIVE_STATE
;
/* lock the interrupt handler */
spin_lock
(
&
priv
->
slock
);
/* check whether there is any source of interrupt on the device */
reg
=
readl
(
device
+
ISL38XX_INT_IDENT_REG
);
...
...
@@ -212,6 +212,9 @@ islpci_interrupt(int irq, void *config, struct pt_regs *regs)
reg
&=
ISL38XX_INT_SOURCES
;
if
(
reg
!=
0
)
{
if
(
islpci_get_state
(
priv
)
!=
PRV_STATE_SLEEP
)
powerstate
=
ISL38XX_PSM_ACTIVE_STATE
;
/* reset the request bits in the Identification register */
isl38xx_w32_flush
(
device
,
reg
,
ISL38XX_INT_ACK_REG
);
...
...
@@ -339,6 +342,12 @@ islpci_interrupt(int irq, void *config, struct pt_regs *regs)
isl38xx_handle_wakeup
(
priv
->
control_block
,
&
powerstate
,
priv
->
device_base
);
}
}
else
{
#if VERBOSE > SHOW_ERROR_MESSAGES
DEBUG
(
SHOW_TRACING
,
"Assuming someone else called the IRQ
\n
"
);
#endif
spin_unlock
(
&
priv
->
slock
);
return
IRQ_NONE
;
}
/* sleep -> ready */
...
...
@@ -856,14 +865,14 @@ islpci_setup(struct pci_dev *pdev)
/* select the firmware file depending on the device id */
switch
(
pdev
->
device
)
{
case
PCIDEVICE_ISL3890
:
case
PCIDEVICE_3COM6001
:
strcpy
(
priv
->
firmware
,
ISL3890_IMAGE_FILE
);
break
;
case
PCIDEVICE_ISL3877
:
case
0x3877
:
strcpy
(
priv
->
firmware
,
ISL3877_IMAGE_FILE
);
break
;
case
0x3886
:
strcpy
(
priv
->
firmware
,
ISL3886_IMAGE_FILE
);
break
;
default:
strcpy
(
priv
->
firmware
,
ISL3890_IMAGE_FILE
);
break
;
...
...
drivers/net/wireless/prism54/islpci_hotplug.c
View file @
783707a1
...
...
@@ -44,102 +44,30 @@ module_param(init_pcitm, int, 0);
* If you have an update for this please contact prism54-devel@prism54.org
* The latest list can be found at http://prism54.org/supported_cards.php */
static
const
struct
pci_device_id
prism54_id_tbl
[]
=
{
/* 3COM 3CRWE154G72 Wireless LAN adapter */
{
PCIVENDOR_3COM
,
PCIDEVICE_3COM6001
,
PCIVENDOR_3COM
,
PCIDEVICE_3COM6001
,
0
,
0
,
0
},
/* D-Link Air Plus Xtreme G A1 - DWL-g650 A1 */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL3890
,
PCIVENDOR_DLINK
,
0x3202UL
,
0
,
0
,
0
},
/* I-O Data WN-G54/CB - WN-G54/CB */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL3890
,
PCIVENDOR_IODATA
,
0xd019UL
,
0
,
0
,
0
},
/* Netgear WG511 */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL3890
,
PCIVENDOR_NETGEAR
,
0x4800UL
,
0
,
0
,
0
},
/* Tekram Technology clones, Allnet, Netcomm, Zyxel */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL3890
,
PCIVENDOR_TTL
,
0x1605UL
,
0
,
0
,
0
},
/* SMC2802W */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL3890
,
PCIVENDOR_SMC
,
0x2802UL
,
0
,
0
,
0
},
/* SMC2835W */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL3890
,
PCIVENDOR_SMC
,
0x2835UL
,
0
,
0
,
0
},
/* Corega CG-WLCB54GT */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL3890
,
PCIVENDOR_ATI
,
0xc104UL
,
0
,
0
,
0
},
/* I4 Z-Com XG-600 */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL3890
,
PCIVENDOR_I4
,
0x0014UL
,
0
,
0
,
0
},
/* I4 Z-Com XG-900 and clones Macer, Ovislink, Planex, Peabird, */
/* Sitecom, Xterasys */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL3890
,
PCIVENDOR_I4
,
0x0020UL
,
0
,
0
,
0
},
/* SMC 2802W V2 */
/* Intersil PRISM Duette/Prism GT Wireless LAN adapter */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL
3890
,
PCI
VENDOR_ACCTON
,
0xee03UL
,
0x1260
,
0x
3890
,
PCI
_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
0
},
/*
SMC 2835W V2
*/
/*
3COM 3CRWE154G72 Wireless LAN adapter
*/
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL3890
,
PCI
VENDOR_SMC
,
0xa835UL
,
0x10b7
,
0x6001
,
PCI
_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
0
},
/* Intersil PRISM Indigo Wireless LAN adapter */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL
3877
,
0x1260
,
0x
3877
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
0
},
/* Intersil PRISM Duette/Prism GT Wireless LAN adapter */
/* Default */
/* Intersil PRISM Javelin/Xbow Wireless LAN adapter */
{
PCIVENDOR_INTERSIL
,
PCIDEVICE_ISL3890
,
0x1260
,
0x3886
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
0
},
...
...
@@ -166,85 +94,6 @@ static struct pci_driver prism54_driver = {
/* .enable_wake ; we don't support this yet */
};
static
void
prism54_get_card_model
(
struct
net_device
*
ndev
)
{
islpci_private
*
priv
;
char
*
modelp
;
int
notwork
=
0
;
priv
=
netdev_priv
(
ndev
);
switch
(
priv
->
pdev
->
subsystem_device
)
{
case
PCIDEVICE_ISL3877
:
modelp
=
"PRISM Indigo"
;
break
;
case
PCIDEVICE_ISL3886
:
modelp
=
"PRISM Javelin / Xbow"
;
break
;
case
PCIDEVICE_3COM6001
:
modelp
=
"3COM 3CRWE154G72"
;
break
;
case
0x3202UL
:
modelp
=
"D-Link DWL-g650 A1"
;
break
;
case
0xd019UL
:
modelp
=
"WN-G54/CB"
;
break
;
case
0x4800UL
:
modelp
=
"Netgear WG511"
;
break
;
case
0x2802UL
:
modelp
=
"SMC2802W"
;
break
;
case
0xee03UL
:
modelp
=
"SMC2802W V2"
;
notwork
=
1
;
break
;
case
0x2835UL
:
modelp
=
"SMC2835W"
;
break
;
case
0xa835UL
:
modelp
=
"SMC2835W V2"
;
notwork
=
1
;
break
;
case
0xc104UL
:
modelp
=
"CG-WLCB54GT"
;
break
;
case
0x1605UL
:
modelp
=
"Tekram Technology clone"
;
break
;
/* Let's leave this one out for now since it seems bogus/wrong
* Even if the manufacturer did use 0x0000UL it may not be correct
* by their part, therefore deserving no name ;) */
/* case 0x0000UL:
* modelp = "SparkLAN WL-850F";
* break;*/
/* We have two reported for the one below :( */
case
0x0014UL
:
modelp
=
"I4 Z-Com XG-600 and clones"
;
break
;
case
0x0020UL
:
modelp
=
"I4 Z-Com XG-900 and clones"
;
break
;
/* Default it */
/*
case PCIDEVICE_ISL3890:
modelp = "PRISM Duette/GT";
break;
*/
default:
modelp
=
"PRISM Duette/GT"
;
}
printk
(
KERN_DEBUG
"%s: %s driver detected card model: %s
\n
"
,
ndev
->
name
,
DRV_NAME
,
modelp
);
if
(
notwork
)
{
printk
(
KERN_DEBUG
"%s: %s Warning - This may not work
\n
"
,
ndev
->
name
,
DRV_NAME
);
}
return
;
}
/******************************************************************************
Module initialization functions
******************************************************************************/
...
...
@@ -354,9 +203,6 @@ prism54_probe(struct pci_dev *pdev, const struct pci_device_id *id)
/* firmware upload is triggered in islpci_open */
/* Pretty card model discovery output */
prism54_get_card_model
(
ndev
);
return
0
;
do_unregister_netdev:
...
...
drivers/net/wireless/prism54/islpci_mgt.h
View file @
783707a1
...
...
@@ -38,21 +38,6 @@ extern int pc_debug;
/* General driver definitions */
#define PCIVENDOR_INTERSIL 0x1260UL
#define PCIVENDOR_3COM 0x10b7UL
#define PCIVENDOR_DLINK 0x1186UL
#define PCIVENDOR_I4 0x17cfUL
#define PCIVENDOR_IODATA 0x10fcUL
#define PCIVENDOR_NETGEAR 0x1385UL
#define PCIVENDOR_SMC 0x10b8UL
#define PCIVENDOR_ACCTON 0x1113UL
#define PCIVENDOR_ATI 0x1259UL
#define PCIVENDOR_TTL 0x16a5UL
#define PCIDEVICE_ISL3877 0x3877UL
#define PCIDEVICE_ISL3886 0x3886UL
#define PCIDEVICE_ISL3890 0x3890UL
#define PCIDEVICE_3COM6001 0x6001UL
#define PCIDEVICE_LATENCY_TIMER_MIN 0x40
#define PCIDEVICE_LATENCY_TIMER_VAL 0x50
...
...
drivers/net/wireless/prism54/oid_mgt.c
View file @
783707a1
...
...
@@ -219,7 +219,7 @@ struct oid_t isl_oid[] = {
OID_UNKNOWN
(
OID_INL_MEMORY
,
0xFF020002
),
OID_U32_C
(
OID_INL_MODE
,
0xFF020003
),
OID_UNKNOWN
(
OID_INL_COMPONENT_NR
,
0xFF020004
),
OID_
UNKNOWN
(
OID_INL_VERSION
,
0xFF020005
),
OID_
STRUCT
(
OID_INL_VERSION
,
0xFF020005
,
u8
[
8
],
OID_TYPE_RAW
),
OID_UNKNOWN
(
OID_INL_INTERFACE_ID
,
0xFF020006
),
OID_UNKNOWN
(
OID_INL_COMPONENT_ID
,
0xFF020007
),
OID_U32_C
(
OID_INL_CONFIG
,
0xFF020008
),
...
...
@@ -481,6 +481,8 @@ mgt_get_request(islpci_private *priv, enum oid_num_t n, int extra, void *data,
BUG_ON
(
OID_NUM_LAST
<=
n
);
BUG_ON
(
extra
>
isl_oid
[
n
].
range
);
res
->
ptr
=
NULL
;
if
(
!
priv
->
mib
)
/* memory has been freed */
return
-
1
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment