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
Kirill Smelkov
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