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
8441b756
Commit
8441b756
authored
Jan 27, 2005
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
3d4fc662
6ccc0686
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
56 additions
and
70 deletions
+56
-70
drivers/net/e100.c
drivers/net/e100.c
+1
-0
drivers/net/gianfar.c
drivers/net/gianfar.c
+4
-4
drivers/net/skfp/skfddi.c
drivers/net/skfp/skfddi.c
+50
-66
drivers/net/tulip/de2104x.c
drivers/net/tulip/de2104x.c
+1
-0
No files found.
drivers/net/e100.c
View file @
8441b756
...
@@ -1630,6 +1630,7 @@ static void e100_netpoll(struct net_device *netdev)
...
@@ -1630,6 +1630,7 @@ static void e100_netpoll(struct net_device *netdev)
struct
nic
*
nic
=
netdev_priv
(
netdev
);
struct
nic
*
nic
=
netdev_priv
(
netdev
);
e100_disable_irq
(
nic
);
e100_disable_irq
(
nic
);
e100_intr
(
nic
->
pdev
->
irq
,
netdev
,
NULL
);
e100_intr
(
nic
->
pdev
->
irq
,
netdev
,
NULL
);
e100_tx_clean
(
nic
);
e100_enable_irq
(
nic
);
e100_enable_irq
(
nic
);
}
}
#endif
#endif
...
...
drivers/net/gianfar.c
View file @
8441b756
...
@@ -1190,8 +1190,8 @@ irqreturn_t gfar_receive(int irq, void *dev_id, struct pt_regs *regs)
...
@@ -1190,8 +1190,8 @@ irqreturn_t gfar_receive(int irq, void *dev_id, struct pt_regs *regs)
}
else
{
}
else
{
#ifdef VERBOSE_GFAR_ERRORS
#ifdef VERBOSE_GFAR_ERRORS
printk
(
KERN_DEBUG
"%s: receive called twice (%x)[%x]
\n
"
,
printk
(
KERN_DEBUG
"%s: receive called twice (%x)[%x]
\n
"
,
dev
->
name
,
gfar_read
(
priv
->
regs
->
ievent
),
dev
->
name
,
gfar_read
(
&
priv
->
regs
->
ievent
),
gfar_read
(
priv
->
regs
->
imask
));
gfar_read
(
&
priv
->
regs
->
imask
));
#endif
#endif
}
}
#else
#else
...
@@ -1415,7 +1415,7 @@ static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs)
...
@@ -1415,7 +1415,7 @@ static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs)
#ifdef VERBOSE_GFAR_ERRORS
#ifdef VERBOSE_GFAR_ERRORS
printk
(
KERN_DEBUG
"%s: busy error (rhalt: %x)
\n
"
,
dev
->
name
,
printk
(
KERN_DEBUG
"%s: busy error (rhalt: %x)
\n
"
,
dev
->
name
,
gfar_read
(
priv
->
regs
->
rstat
));
gfar_read
(
&
priv
->
regs
->
rstat
));
#endif
#endif
}
}
if
(
events
&
IEVENT_BABR
)
{
if
(
events
&
IEVENT_BABR
)
{
...
@@ -1793,7 +1793,7 @@ static irqreturn_t gfar_error(int irq, void *dev_id, struct pt_regs *regs)
...
@@ -1793,7 +1793,7 @@ static irqreturn_t gfar_error(int irq, void *dev_id, struct pt_regs *regs)
#ifdef VERBOSE_GFAR_ERRORS
#ifdef VERBOSE_GFAR_ERRORS
printk
(
KERN_DEBUG
"%s: busy error (rhalt: %x)
\n
"
,
dev
->
name
,
printk
(
KERN_DEBUG
"%s: busy error (rhalt: %x)
\n
"
,
dev
->
name
,
gfar_read
(
priv
->
regs
->
rstat
));
gfar_read
(
&
priv
->
regs
->
rstat
));
#endif
#endif
}
}
if
(
events
&
IEVENT_BABR
)
{
if
(
events
&
IEVENT_BABR
)
{
...
...
drivers/net/skfp/skfddi.c
View file @
8441b756
...
@@ -169,8 +169,6 @@ static int num_boards; /* total number of adapters configured */
...
@@ -169,8 +169,6 @@ static int num_boards; /* total number of adapters configured */
#define PRINTK(s, args...)
#define PRINTK(s, args...)
#endif // DRIVERDEBUG
#endif // DRIVERDEBUG
#define PRIV(dev) (&(((struct s_smc *)dev->priv)->os))
/*
/*
* =================
* =================
* = skfp_init_one =
* = skfp_init_one =
...
@@ -205,7 +203,6 @@ static int skfp_init_one(struct pci_dev *pdev,
...
@@ -205,7 +203,6 @@ static int skfp_init_one(struct pci_dev *pdev,
{
{
struct
net_device
*
dev
;
struct
net_device
*
dev
;
struct
s_smc
*
smc
;
/* board pointer */
struct
s_smc
*
smc
;
/* board pointer */
unsigned
long
port
,
len
;
void
__iomem
*
mem
;
void
__iomem
*
mem
;
int
err
;
int
err
;
...
@@ -215,63 +212,44 @@ static int skfp_init_one(struct pci_dev *pdev,
...
@@ -215,63 +212,44 @@ static int skfp_init_one(struct pci_dev *pdev,
printk
(
"%s
\n
"
,
boot_msg
);
printk
(
"%s
\n
"
,
boot_msg
);
err
=
pci_enable_device
(
pdev
);
err
=
pci_enable_device
(
pdev
);
if
(
err
)
return
err
;
err
=
pci_request_regions
(
pdev
,
"skfddi"
);
if
(
err
)
if
(
err
)
goto
err_out1
;
goto
err_out1
;
pci_set_master
(
pdev
);
#ifdef MEM_MAPPED_IO
#ifdef MEM_MAPPED_IO
if
(
!
(
pci_resource_flags
(
pdev
,
0
)
&
IORESOURCE_MEM
))
{
if
(
!
(
pci_resource_flags
(
pdev
,
0
)
&
IORESOURCE_MEM
))
{
printk
(
KERN_ERR
"skfp: region is not an MMIO resource
\n
"
);
printk
(
KERN_ERR
"skfp: region is not an MMIO resource
\n
"
);
err
=
-
EIO
;
err
=
-
EIO
;
goto
err_out
1
;
goto
err_out
2
;
}
}
port
=
pci_resource_start
(
pdev
,
0
);
len
=
pci_resource_len
(
pdev
,
0
);
if
(
len
<
0x4000
)
{
mem
=
ioremap
(
pci_resource_start
(
pdev
,
0
),
0x4000
);
printk
(
KERN_ERR
"skfp: Invalid PCI region size: %lu
\n
"
,
len
);
err
=
-
EIO
;
goto
err_out1
;
}
#else
#else
if
(
!
(
pci_resource_flags
(
pdev
,
1
)
&
IO_RESOURCE_IO
))
{
if
(
!
(
pci_resource_flags
(
pdev
,
1
)
&
IO_RESOURCE_IO
))
{
printk
(
KERN_ERR
"skfp: region is not PIO resource
\n
"
);
printk
(
KERN_ERR
"skfp: region is not PIO resource
\n
"
);
err
=
-
EIO
;
err
=
-
EIO
;
goto
err_out
1
;
goto
err_out
2
;
}
}
port
=
pci_resource_start
(
pdev
,
1
);
mem
=
ioport_map
(
pci_resource_start
(
pdev
,
1
),
FP_IO_LEN
);
len
=
pci_resource_len
(
pdev
,
1
);
#endif
if
(
len
<
FP_IO_LEN
)
{
if
(
!
mem
)
{
printk
(
KERN_ERR
"skfp:
Invalid PCI region size: %d
\n
"
,
printk
(
KERN_ERR
"skfp:
Unable to map register, "
io_len
);
"FDDI adapter will be disabled.
\n
"
);
err
=
-
EIO
;
err
=
-
EIO
;
goto
err_out
1
;
goto
err_out
2
;
}
}
#endif
err
=
pci_request_regions
(
pdev
,
"skfddi"
);
if
(
err
)
goto
err_out1
;
pci_set_master
(
pdev
);
dev
=
alloc_fddidev
(
sizeof
(
struct
s_smc
));
dev
=
alloc_fddidev
(
sizeof
(
struct
s_smc
));
if
(
!
dev
)
{
if
(
!
dev
)
{
printk
(
KERN_ERR
"skfp: Unable to allocate fddi device, "
printk
(
KERN_ERR
"skfp: Unable to allocate fddi device, "
"FDDI adapter will be disabled.
\n
"
);
"FDDI adapter will be disabled.
\n
"
);
err
=
-
ENOMEM
;
err
=
-
ENOMEM
;
goto
err_out2
;
}
#ifdef MEM_MAPPED_IO
mem
=
ioremap
(
port
,
len
);
#else
mem
=
ioport_map
(
port
,
len
);
#endif
if
(
!
mem
)
{
printk
(
KERN_ERR
"skfp: Unable to map register, "
"FDDI adapter will be disabled.
\n
"
);
err
=
-
EIO
;
goto
err_out3
;
goto
err_out3
;
}
}
...
@@ -289,7 +267,7 @@ static int skfp_init_one(struct pci_dev *pdev,
...
@@ -289,7 +267,7 @@ static int skfp_init_one(struct pci_dev *pdev,
SET_NETDEV_DEV
(
dev
,
&
pdev
->
dev
);
SET_NETDEV_DEV
(
dev
,
&
pdev
->
dev
);
/* Initialize board structure with bus-specific info */
/* Initialize board structure with bus-specific info */
smc
=
(
struct
s_smc
*
)
dev
->
priv
;
smc
=
netdev_priv
(
dev
)
;
smc
->
os
.
dev
=
dev
;
smc
->
os
.
dev
=
dev
;
smc
->
os
.
bus_type
=
SK_BUS_TYPE_PCI
;
smc
->
os
.
bus_type
=
SK_BUS_TYPE_PCI
;
smc
->
os
.
pdev
=
*
pdev
;
smc
->
os
.
pdev
=
*
pdev
;
...
@@ -331,16 +309,17 @@ static int skfp_init_one(struct pci_dev *pdev,
...
@@ -331,16 +309,17 @@ static int skfp_init_one(struct pci_dev *pdev,
pci_free_consistent
(
pdev
,
MAX_FRAME_SIZE
,
pci_free_consistent
(
pdev
,
MAX_FRAME_SIZE
,
smc
->
os
.
LocalRxBuffer
,
smc
->
os
.
LocalRxBufferDMA
);
smc
->
os
.
LocalRxBuffer
,
smc
->
os
.
LocalRxBufferDMA
);
err_out4:
err_out4:
free_netdev
(
dev
);
err_out3:
#ifdef MEM_MAPPED_IO
#ifdef MEM_MAPPED_IO
iounmap
(
smc
->
hw
.
iop
);
iounmap
(
mem
);
#else
#else
ioport_unmap
(
smc
->
hw
.
iop
);
ioport_unmap
(
mem
);
#endif
#endif
err_out3:
free_netdev
(
dev
);
err_out2:
err_out2:
pci_release_regions
(
pdev
);
pci_release_regions
(
pdev
);
err_out1:
err_out1:
pci_disable_device
(
pdev
);
return
err
;
return
err
;
}
}
...
@@ -350,7 +329,7 @@ static int skfp_init_one(struct pci_dev *pdev,
...
@@ -350,7 +329,7 @@ static int skfp_init_one(struct pci_dev *pdev,
static
void
__devexit
skfp_remove_one
(
struct
pci_dev
*
pdev
)
static
void
__devexit
skfp_remove_one
(
struct
pci_dev
*
pdev
)
{
{
struct
net_device
*
p
=
pci_get_drvdata
(
pdev
);
struct
net_device
*
p
=
pci_get_drvdata
(
pdev
);
struct
s_smc
*
lp
=
p
->
priv
;
struct
s_smc
*
lp
=
netdev_priv
(
p
)
;
unregister_netdev
(
p
);
unregister_netdev
(
p
);
...
@@ -376,6 +355,7 @@ static void __devexit skfp_remove_one(struct pci_dev *pdev)
...
@@ -376,6 +355,7 @@ static void __devexit skfp_remove_one(struct pci_dev *pdev)
pci_release_regions
(
pdev
);
pci_release_regions
(
pdev
);
free_netdev
(
p
);
free_netdev
(
p
);
pci_disable_device
(
pdev
);
pci_set_drvdata
(
pdev
,
NULL
);
pci_set_drvdata
(
pdev
,
NULL
);
}
}
...
@@ -406,8 +386,8 @@ static void __devexit skfp_remove_one(struct pci_dev *pdev)
...
@@ -406,8 +386,8 @@ static void __devexit skfp_remove_one(struct pci_dev *pdev)
*/
*/
static
int
skfp_driver_init
(
struct
net_device
*
dev
)
static
int
skfp_driver_init
(
struct
net_device
*
dev
)
{
{
struct
s_smc
*
smc
=
(
struct
s_smc
*
)
dev
->
priv
;
struct
s_smc
*
smc
=
netdev_priv
(
dev
)
;
skfddi_priv
*
bp
=
PRIV
(
dev
)
;
skfddi_priv
*
bp
=
&
smc
->
os
;
int
err
=
-
EIO
;
int
err
=
-
EIO
;
PRINTK
(
KERN_INFO
"entering skfp_driver_init
\n
"
);
PRINTK
(
KERN_INFO
"entering skfp_driver_init
\n
"
);
...
@@ -513,7 +493,7 @@ static int skfp_driver_init(struct net_device *dev)
...
@@ -513,7 +493,7 @@ static int skfp_driver_init(struct net_device *dev)
*/
*/
static
int
skfp_open
(
struct
net_device
*
dev
)
static
int
skfp_open
(
struct
net_device
*
dev
)
{
{
struct
s_smc
*
smc
=
(
struct
s_smc
*
)
dev
->
priv
;
struct
s_smc
*
smc
=
netdev_priv
(
dev
)
;
int
err
;
int
err
;
PRINTK
(
KERN_INFO
"entering skfp_open
\n
"
);
PRINTK
(
KERN_INFO
"entering skfp_open
\n
"
);
...
@@ -580,8 +560,8 @@ static int skfp_open(struct net_device *dev)
...
@@ -580,8 +560,8 @@ static int skfp_open(struct net_device *dev)
*/
*/
static
int
skfp_close
(
struct
net_device
*
dev
)
static
int
skfp_close
(
struct
net_device
*
dev
)
{
{
struct
s_smc
*
smc
=
(
struct
s_smc
*
)
dev
->
priv
;
struct
s_smc
*
smc
=
netdev_priv
(
dev
)
;
skfddi_priv
*
bp
=
PRIV
(
dev
)
;
skfddi_priv
*
bp
=
&
smc
->
os
;
CLI_FBI
();
CLI_FBI
();
smt_reset_defaults
(
smc
,
1
);
smt_reset_defaults
(
smc
,
1
);
...
@@ -640,15 +620,15 @@ irqreturn_t skfp_interrupt(int irq, void *dev_id, struct pt_regs *regs)
...
@@ -640,15 +620,15 @@ irqreturn_t skfp_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
{
struct
net_device
*
dev
=
(
struct
net_device
*
)
dev_id
;
struct
net_device
*
dev
=
(
struct
net_device
*
)
dev_id
;
struct
s_smc
*
smc
;
/* private board structure pointer */
struct
s_smc
*
smc
;
/* private board structure pointer */
skfddi_priv
*
bp
=
PRIV
(
dev
);
skfddi_priv
*
bp
;
if
(
dev
==
NULL
)
{
if
(
dev
==
NULL
)
{
printk
(
"%s: irq %d for unknown device
\n
"
,
dev
->
name
,
irq
);
printk
(
"%s: irq %d for unknown device
\n
"
,
dev
->
name
,
irq
);
return
IRQ_NONE
;
return
IRQ_NONE
;
}
}
smc
=
(
struct
s_smc
*
)
dev
->
priv
;
smc
=
netdev_priv
(
dev
);
bp
=
&
smc
->
os
;
// IRQs enabled or disabled ?
// IRQs enabled or disabled ?
if
(
inpd
(
ADDR
(
B0_IMSK
))
==
0
)
{
if
(
inpd
(
ADDR
(
B0_IMSK
))
==
0
)
{
...
@@ -710,7 +690,7 @@ irqreturn_t skfp_interrupt(int irq, void *dev_id, struct pt_regs *regs)
...
@@ -710,7 +690,7 @@ irqreturn_t skfp_interrupt(int irq, void *dev_id, struct pt_regs *regs)
*/
*/
struct
net_device_stats
*
skfp_ctl_get_stats
(
struct
net_device
*
dev
)
struct
net_device_stats
*
skfp_ctl_get_stats
(
struct
net_device
*
dev
)
{
{
struct
s_smc
*
bp
=
(
struct
s_smc
*
)
dev
->
priv
;
struct
s_smc
*
bp
=
netdev_priv
(
dev
)
;
/* Fill the bp->stats structure with driver-maintained counters */
/* Fill the bp->stats structure with driver-maintained counters */
...
@@ -874,7 +854,8 @@ struct net_device_stats *skfp_ctl_get_stats(struct net_device *dev)
...
@@ -874,7 +854,8 @@ struct net_device_stats *skfp_ctl_get_stats(struct net_device *dev)
*/
*/
static
void
skfp_ctl_set_multicast_list
(
struct
net_device
*
dev
)
static
void
skfp_ctl_set_multicast_list
(
struct
net_device
*
dev
)
{
{
skfddi_priv
*
bp
=
PRIV
(
dev
);
struct
s_smc
*
smc
=
netdev_priv
(
dev
);
skfddi_priv
*
bp
=
&
smc
->
os
;
unsigned
long
Flags
;
unsigned
long
Flags
;
spin_lock_irqsave
(
&
bp
->
DriverLock
,
Flags
);
spin_lock_irqsave
(
&
bp
->
DriverLock
,
Flags
);
...
@@ -887,7 +868,7 @@ static void skfp_ctl_set_multicast_list(struct net_device *dev)
...
@@ -887,7 +868,7 @@ static void skfp_ctl_set_multicast_list(struct net_device *dev)
static
void
skfp_ctl_set_multicast_list_wo_lock
(
struct
net_device
*
dev
)
static
void
skfp_ctl_set_multicast_list_wo_lock
(
struct
net_device
*
dev
)
{
{
struct
s_smc
*
smc
=
(
struct
s_smc
*
)
dev
->
priv
;
struct
s_smc
*
smc
=
netdev_priv
(
dev
)
;
struct
dev_mc_list
*
dmi
;
/* ptr to multicast addr entry */
struct
dev_mc_list
*
dmi
;
/* ptr to multicast addr entry */
int
i
;
int
i
;
...
@@ -970,9 +951,9 @@ static void skfp_ctl_set_multicast_list_wo_lock(struct net_device *dev)
...
@@ -970,9 +951,9 @@ static void skfp_ctl_set_multicast_list_wo_lock(struct net_device *dev)
*/
*/
static
int
skfp_ctl_set_mac_address
(
struct
net_device
*
dev
,
void
*
addr
)
static
int
skfp_ctl_set_mac_address
(
struct
net_device
*
dev
,
void
*
addr
)
{
{
struct
s_smc
*
smc
=
(
struct
s_smc
*
)
dev
->
priv
;
struct
s_smc
*
smc
=
netdev_priv
(
dev
)
;
struct
sockaddr
*
p_sockaddr
=
(
struct
sockaddr
*
)
addr
;
struct
sockaddr
*
p_sockaddr
=
(
struct
sockaddr
*
)
addr
;
skfddi_priv
*
bp
=
(
skfddi_priv
*
)
&
smc
->
os
;
skfddi_priv
*
bp
=
&
smc
->
os
;
unsigned
long
Flags
;
unsigned
long
Flags
;
...
@@ -1010,12 +991,14 @@ static int skfp_ctl_set_mac_address(struct net_device *dev, void *addr)
...
@@ -1010,12 +991,14 @@ static int skfp_ctl_set_mac_address(struct net_device *dev, void *addr)
static
int
skfp_ioctl
(
struct
net_device
*
dev
,
struct
ifreq
*
rq
,
int
cmd
)
static
int
skfp_ioctl
(
struct
net_device
*
dev
,
struct
ifreq
*
rq
,
int
cmd
)
{
{
skfddi_priv
*
lp
=
PRIV
(
dev
);
struct
s_smc
*
smc
=
netdev_priv
(
dev
);
skfddi_priv
*
lp
=
&
smc
->
os
;
struct
s_skfp_ioctl
ioc
;
struct
s_skfp_ioctl
ioc
;
int
status
=
0
;
int
status
=
0
;
if
(
copy_from_user
(
&
ioc
,
rq
->
ifr_data
,
sizeof
(
struct
s_skfp_ioctl
)))
if
(
copy_from_user
(
&
ioc
,
rq
->
ifr_data
,
sizeof
(
struct
s_skfp_ioctl
)))
return
-
EFAULT
;
return
-
EFAULT
;
switch
(
ioc
.
cmd
)
{
switch
(
ioc
.
cmd
)
{
case
SKFP_GET_STATS
:
/* Get the driver statistics */
case
SKFP_GET_STATS
:
/* Get the driver statistics */
ioc
.
len
=
sizeof
(
lp
->
MacStat
);
ioc
.
len
=
sizeof
(
lp
->
MacStat
);
...
@@ -1088,7 +1071,8 @@ static int skfp_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
...
@@ -1088,7 +1071,8 @@ static int skfp_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
*/
*/
static
int
skfp_send_pkt
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
)
static
int
skfp_send_pkt
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
)
{
{
skfddi_priv
*
bp
=
PRIV
(
dev
);
struct
s_smc
*
smc
=
netdev_priv
(
dev
);
skfddi_priv
*
bp
=
&
smc
->
os
;
PRINTK
(
KERN_INFO
"skfp_send_pkt
\n
"
);
PRINTK
(
KERN_INFO
"skfp_send_pkt
\n
"
);
...
@@ -1115,7 +1099,7 @@ static int skfp_send_pkt(struct sk_buff *skb, struct net_device *dev)
...
@@ -1115,7 +1099,7 @@ static int skfp_send_pkt(struct sk_buff *skb, struct net_device *dev)
}
}
bp
->
QueueSkb
--
;
bp
->
QueueSkb
--
;
skb_queue_tail
(
&
bp
->
SendSkbQueue
,
skb
);
skb_queue_tail
(
&
bp
->
SendSkbQueue
,
skb
);
send_queued_packets
(
(
struct
s_smc
*
)
dev
->
priv
);
send_queued_packets
(
netdev_priv
(
dev
)
);
if
(
bp
->
QueueSkb
==
0
)
{
if
(
bp
->
QueueSkb
==
0
)
{
netif_stop_queue
(
dev
);
netif_stop_queue
(
dev
);
}
}
...
@@ -1150,7 +1134,7 @@ static int skfp_send_pkt(struct sk_buff *skb, struct net_device *dev)
...
@@ -1150,7 +1134,7 @@ static int skfp_send_pkt(struct sk_buff *skb, struct net_device *dev)
*/
*/
static
void
send_queued_packets
(
struct
s_smc
*
smc
)
static
void
send_queued_packets
(
struct
s_smc
*
smc
)
{
{
skfddi_priv
*
bp
=
(
skfddi_priv
*
)
&
smc
->
os
;
skfddi_priv
*
bp
=
&
smc
->
os
;
struct
sk_buff
*
skb
;
struct
sk_buff
*
skb
;
unsigned
char
fc
;
unsigned
char
fc
;
int
queue
;
int
queue
;
...
@@ -1322,7 +1306,7 @@ static void ResetAdapter(struct s_smc *smc)
...
@@ -1322,7 +1306,7 @@ static void ResetAdapter(struct s_smc *smc)
************************/
************************/
void
llc_restart_tx
(
struct
s_smc
*
smc
)
void
llc_restart_tx
(
struct
s_smc
*
smc
)
{
{
skfddi_priv
*
bp
=
(
skfddi_priv
*
)
&
smc
->
os
;
skfddi_priv
*
bp
=
&
smc
->
os
;
PRINTK
(
KERN_INFO
"[llc_restart_tx]
\n
"
);
PRINTK
(
KERN_INFO
"[llc_restart_tx]
\n
"
);
...
@@ -1506,7 +1490,7 @@ void dma_complete(struct s_smc *smc, volatile union s_fp_descr *descr, int flag)
...
@@ -1506,7 +1490,7 @@ void dma_complete(struct s_smc *smc, volatile union s_fp_descr *descr, int flag)
* unmap first, the hardware module could read inconsistent data.
* unmap first, the hardware module could read inconsistent data.
*/
*/
if
(
flag
&
DMA_WR
)
{
if
(
flag
&
DMA_WR
)
{
skfddi_priv
*
bp
=
(
skfddi_priv
*
)
&
smc
->
os
;
skfddi_priv
*
bp
=
&
smc
->
os
;
volatile
struct
s_smt_fp_rxd
*
r
=
&
descr
->
r
;
volatile
struct
s_smt_fp_rxd
*
r
=
&
descr
->
r
;
/* If SKB is NULL, we used the local buffer. */
/* If SKB is NULL, we used the local buffer. */
...
@@ -1620,7 +1604,7 @@ void dump_data(unsigned char *Data, int length)
...
@@ -1620,7 +1604,7 @@ void dump_data(unsigned char *Data, int length)
void
mac_drv_rx_complete
(
struct
s_smc
*
smc
,
volatile
struct
s_smt_fp_rxd
*
rxd
,
void
mac_drv_rx_complete
(
struct
s_smc
*
smc
,
volatile
struct
s_smt_fp_rxd
*
rxd
,
int
frag_count
,
int
len
)
int
frag_count
,
int
len
)
{
{
skfddi_priv
*
bp
=
(
skfddi_priv
*
)
&
smc
->
os
;
skfddi_priv
*
bp
=
&
smc
->
os
;
struct
sk_buff
*
skb
;
struct
sk_buff
*
skb
;
unsigned
char
*
virt
,
*
cp
;
unsigned
char
*
virt
,
*
cp
;
unsigned
short
ri
;
unsigned
short
ri
;
...
@@ -1752,7 +1736,7 @@ void mac_drv_requeue_rxd(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd,
...
@@ -1752,7 +1736,7 @@ void mac_drv_requeue_rxd(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd,
printk
(
"fddi: Multi-fragment requeue!
\n
"
);
printk
(
"fddi: Multi-fragment requeue!
\n
"
);
MaxFrameSize
=
((
skfddi_priv
*
)
&
smc
->
os
)
->
MaxFrameSize
;
MaxFrameSize
=
smc
->
os
.
MaxFrameSize
;
src_rxd
=
rxd
;
src_rxd
=
rxd
;
for
(;
frag_count
>
0
;
frag_count
--
)
{
for
(;
frag_count
>
0
;
frag_count
--
)
{
next_rxd
=
src_rxd
->
rxd_next
;
next_rxd
=
src_rxd
->
rxd_next
;
...
@@ -1828,7 +1812,7 @@ void mac_drv_fill_rxd(struct s_smc *smc)
...
@@ -1828,7 +1812,7 @@ void mac_drv_fill_rxd(struct s_smc *smc)
// Walk through the list of free receive buffers, passing receive
// Walk through the list of free receive buffers, passing receive
// buffers to the HWM as long as RXDs are available.
// buffers to the HWM as long as RXDs are available.
MaxFrameSize
=
((
skfddi_priv
*
)
&
smc
->
os
)
->
MaxFrameSize
;
MaxFrameSize
=
smc
->
os
.
MaxFrameSize
;
// Check if there is any RXD left.
// Check if there is any RXD left.
while
(
HWM_GET_RX_FREE
(
smc
)
>
0
)
{
while
(
HWM_GET_RX_FREE
(
smc
)
>
0
)
{
PRINTK
(
KERN_INFO
".
\n
"
);
PRINTK
(
KERN_INFO
".
\n
"
);
...
@@ -1897,7 +1881,7 @@ void mac_drv_clear_rxd(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd,
...
@@ -1897,7 +1881,7 @@ void mac_drv_clear_rxd(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd,
for
(;
frag_count
>
0
;
frag_count
--
)
{
for
(;
frag_count
>
0
;
frag_count
--
)
{
skb
=
rxd
->
rxd_os
.
skb
;
skb
=
rxd
->
rxd_os
.
skb
;
if
(
skb
!=
NULL
)
{
if
(
skb
!=
NULL
)
{
skfddi_priv
*
bp
=
(
skfddi_priv
*
)
&
smc
->
os
;
skfddi_priv
*
bp
=
&
smc
->
os
;
int
MaxFrameSize
=
bp
->
MaxFrameSize
;
int
MaxFrameSize
=
bp
->
MaxFrameSize
;
pci_unmap_single
(
&
bp
->
pdev
,
rxd
->
rxd_os
.
dma_addr
,
pci_unmap_single
(
&
bp
->
pdev
,
rxd
->
rxd_os
.
dma_addr
,
...
@@ -1964,7 +1948,7 @@ int mac_drv_rx_init(struct s_smc *smc, int len, int fc,
...
@@ -1964,7 +1948,7 @@ int mac_drv_rx_init(struct s_smc *smc, int len, int fc,
memcpy
(
skb
->
data
,
look_ahead
,
len
);
memcpy
(
skb
->
data
,
look_ahead
,
len
);
// deliver frame to system
// deliver frame to system
skb
->
protocol
=
fddi_type_trans
(
skb
,
((
skfddi_priv
*
)
&
smc
->
os
)
->
dev
);
skb
->
protocol
=
fddi_type_trans
(
skb
,
smc
->
os
.
dev
);
skb
->
dev
->
last_rx
=
jiffies
;
skb
->
dev
->
last_rx
=
jiffies
;
netif_rx
(
skb
);
netif_rx
(
skb
);
...
...
drivers/net/tulip/de2104x.c
View file @
8441b756
...
@@ -1703,6 +1703,7 @@ static void __init de21040_get_mac_address (struct de_private *de)
...
@@ -1703,6 +1703,7 @@ static void __init de21040_get_mac_address (struct de_private *de)
value
=
dr32
(
ROMCmd
);
value
=
dr32
(
ROMCmd
);
while
(
value
<
0
&&
--
boguscnt
>
0
);
while
(
value
<
0
&&
--
boguscnt
>
0
);
de
->
dev
->
dev_addr
[
i
]
=
value
;
de
->
dev
->
dev_addr
[
i
]
=
value
;
udelay
(
1
);
if
(
boguscnt
<=
0
)
if
(
boguscnt
<=
0
)
printk
(
KERN_WARNING
PFX
"timeout reading 21040 MAC address byte %u
\n
"
,
i
);
printk
(
KERN_WARNING
PFX
"timeout reading 21040 MAC address byte %u
\n
"
,
i
);
}
}
...
...
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