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
fd4e5f29
Commit
fd4e5f29
authored
May 05, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Automatic merge of
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
parents
4adb1817
b6d31e80
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
77 additions
and
60 deletions
+77
-60
drivers/net/appletalk/cops.c
drivers/net/appletalk/cops.c
+2
-2
drivers/net/appletalk/ltpc.c
drivers/net/appletalk/ltpc.c
+1
-1
drivers/net/tg3.c
drivers/net/tg3.c
+39
-46
include/linux/if_ltalk.h
include/linux/if_ltalk.h
+1
-1
include/net/sock.h
include/net/sock.h
+2
-0
net/appletalk/dev.c
net/appletalk/dev.c
+20
-2
net/core/sock.c
net/core/sock.c
+8
-4
net/decnet/dn_dev.c
net/decnet/dn_dev.c
+1
-1
net/ipv4/multipath_wrandom.c
net/ipv4/multipath_wrandom.c
+3
-3
No files found.
drivers/net/appletalk/cops.c
View file @
fd4e5f29
...
...
@@ -65,7 +65,7 @@ static const char *version =
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/if_arp.h>
#include <linux/if_ltalk.h>
/* For ltalk_setup() */
#include <linux/if_ltalk.h>
#include <linux/delay.h>
/* For udelay() */
#include <linux/atalk.h>
#include <linux/spinlock.h>
...
...
@@ -223,7 +223,7 @@ struct net_device * __init cops_probe(int unit)
int
base_addr
;
int
err
=
0
;
dev
=
alloc_
netdev
(
sizeof
(
struct
cops_local
),
"lt%d"
,
ltalk_setup
);
dev
=
alloc_
ltalkdev
(
sizeof
(
struct
cops_local
)
);
if
(
!
dev
)
return
ERR_PTR
(
-
ENOMEM
);
...
...
drivers/net/appletalk/ltpc.c
View file @
fd4e5f29
...
...
@@ -1039,7 +1039,7 @@ struct net_device * __init ltpc_probe(void)
unsigned
long
f
;
unsigned
long
timeout
;
dev
=
alloc_
netdev
(
sizeof
(
struct
ltpc_private
),
"lt%d"
,
ltalk_setup
);
dev
=
alloc_
ltalkdev
(
sizeof
(
struct
ltpc_private
)
);
if
(
!
dev
)
goto
out
;
...
...
drivers/net/tg3.c
View file @
fd4e5f29
...
...
@@ -61,8 +61,8 @@
#define DRV_MODULE_NAME "tg3"
#define PFX DRV_MODULE_NAME ": "
#define DRV_MODULE_VERSION "3.2
6
"
#define DRV_MODULE_RELDATE "
April 24
, 2005"
#define DRV_MODULE_VERSION "3.2
7
"
#define DRV_MODULE_RELDATE "
May 5
, 2005"
#define TG3_DEF_MAC_MODE 0
#define TG3_DEF_RX_MODE 0
...
...
@@ -3020,7 +3020,7 @@ static irqreturn_t tg3_test_isr(int irq, void *dev_id,
}
static
int
tg3_init_hw
(
struct
tg3
*
);
static
int
tg3_halt
(
struct
tg3
*
);
static
int
tg3_halt
(
struct
tg3
*
,
int
);
#ifdef CONFIG_NET_POLL_CONTROLLER
static
void
tg3_poll_controller
(
struct
net_device
*
dev
)
...
...
@@ -3044,7 +3044,7 @@ static void tg3_reset_task(void *_data)
restart_timer
=
tp
->
tg3_flags2
&
TG3_FLG2_RESTART_TIMER
;
tp
->
tg3_flags2
&=
~
TG3_FLG2_RESTART_TIMER
;
tg3_halt
(
tp
);
tg3_halt
(
tp
,
0
);
tg3_init_hw
(
tp
);
tg3_netif_start
(
tp
);
...
...
@@ -3390,7 +3390,7 @@ static int tg3_change_mtu(struct net_device *dev, int new_mtu)
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_set_mtu
(
dev
,
tp
,
new_mtu
);
...
...
@@ -3657,7 +3657,7 @@ static int tg3_alloc_consistent(struct tg3 *tp)
/* To stop a block, clear the enable bit and poll till it
* clears. tp->lock is held.
*/
static
int
tg3_stop_block
(
struct
tg3
*
tp
,
unsigned
long
ofs
,
u32
enable_bit
)
static
int
tg3_stop_block
(
struct
tg3
*
tp
,
unsigned
long
ofs
,
u32
enable_bit
,
int
silent
)
{
unsigned
int
i
;
u32
val
;
...
...
@@ -3690,7 +3690,7 @@ static int tg3_stop_block(struct tg3 *tp, unsigned long ofs, u32 enable_bit)
break
;
}
if
(
i
==
MAX_WAIT_CNT
)
{
if
(
i
==
MAX_WAIT_CNT
&&
!
silent
)
{
printk
(
KERN_ERR
PFX
"tg3_stop_block timed out, "
"ofs=%lx enable_bit=%x
\n
"
,
ofs
,
enable_bit
);
...
...
@@ -3701,7 +3701,7 @@ static int tg3_stop_block(struct tg3 *tp, unsigned long ofs, u32 enable_bit)
}
/* tp->lock is held. */
static
int
tg3_abort_hw
(
struct
tg3
*
tp
)
static
int
tg3_abort_hw
(
struct
tg3
*
tp
,
int
silent
)
{
int
i
,
err
;
...
...
@@ -3711,22 +3711,20 @@ static int tg3_abort_hw(struct tg3 *tp)
tw32_f
(
MAC_RX_MODE
,
tp
->
rx_mode
);
udelay
(
10
);
err
=
tg3_stop_block
(
tp
,
RCVBDI_MODE
,
RCVBDI_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RCVLPC_MODE
,
RCVLPC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RCVLSC_MODE
,
RCVLSC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RCVDBDI_MODE
,
RCVDBDI_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RCVDCC_MODE
,
RCVDCC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RCVCC_MODE
,
RCVCC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
SNDBDS_MODE
,
SNDBDS_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
SNDBDI_MODE
,
SNDBDI_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
SNDDATAI_MODE
,
SNDDATAI_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RDMAC_MODE
,
RDMAC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
SNDDATAC_MODE
,
SNDDATAC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
DMAC_MODE
,
DMAC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
SNDBDC_MODE
,
SNDBDC_MODE_ENABLE
);
if
(
err
)
goto
out
;
err
=
tg3_stop_block
(
tp
,
RCVBDI_MODE
,
RCVBDI_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RCVLPC_MODE
,
RCVLPC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RCVLSC_MODE
,
RCVLSC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RCVDBDI_MODE
,
RCVDBDI_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RCVDCC_MODE
,
RCVDCC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RCVCC_MODE
,
RCVCC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
SNDBDS_MODE
,
SNDBDS_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
SNDBDI_MODE
,
SNDBDI_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
SNDDATAI_MODE
,
SNDDATAI_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RDMAC_MODE
,
RDMAC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
SNDDATAC_MODE
,
SNDDATAC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
DMAC_MODE
,
DMAC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
SNDBDC_MODE
,
SNDBDC_MODE_ENABLE
,
silent
);
tp
->
mac_mode
&=
~
MAC_MODE_TDE_ENABLE
;
tw32_f
(
MAC_MODE
,
tp
->
mac_mode
);
...
...
@@ -3744,27 +3742,24 @@ static int tg3_abort_hw(struct tg3 *tp)
printk
(
KERN_ERR
PFX
"tg3_abort_hw timed out for %s, "
"TX_MODE_ENABLE will not clear MAC_TX_MODE=%08x
\n
"
,
tp
->
dev
->
name
,
tr32
(
MAC_TX_MODE
));
return
-
ENODEV
;
err
|=
-
ENODEV
;
}
err
=
tg3_stop_block
(
tp
,
HOSTCC_MODE
,
HOSTCC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
WDMAC_MODE
,
WDMAC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
MBFREE_MODE
,
MBFREE_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
HOSTCC_MODE
,
HOSTCC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
WDMAC_MODE
,
WDMAC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
MBFREE_MODE
,
MBFREE_MODE_ENABLE
,
silent
);
tw32
(
FTQ_RESET
,
0xffffffff
);
tw32
(
FTQ_RESET
,
0x00000000
);
err
|=
tg3_stop_block
(
tp
,
BUFMGR_MODE
,
BUFMGR_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
MEMARB_MODE
,
MEMARB_MODE_ENABLE
);
if
(
err
)
goto
out
;
err
|=
tg3_stop_block
(
tp
,
BUFMGR_MODE
,
BUFMGR_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
MEMARB_MODE
,
MEMARB_MODE_ENABLE
,
silent
);
if
(
tp
->
hw_status
)
memset
(
tp
->
hw_status
,
0
,
TG3_HW_STATUS_SIZE
);
if
(
tp
->
hw_stats
)
memset
(
tp
->
hw_stats
,
0
,
sizeof
(
struct
tg3_hw_stats
));
out:
return
err
;
}
...
...
@@ -4086,7 +4081,7 @@ static void tg3_stop_fw(struct tg3 *tp)
}
/* tp->lock is held. */
static
int
tg3_halt
(
struct
tg3
*
tp
)
static
int
tg3_halt
(
struct
tg3
*
tp
,
int
silent
)
{
int
err
;
...
...
@@ -4094,7 +4089,7 @@ static int tg3_halt(struct tg3 *tp)
tg3_write_sig_pre_reset
(
tp
,
RESET_KIND_SHUTDOWN
);
tg3_abort_hw
(
tp
);
tg3_abort_hw
(
tp
,
silent
);
err
=
tg3_chip_reset
(
tp
);
tg3_write_sig_legacy
(
tp
,
RESET_KIND_SHUTDOWN
);
...
...
@@ -5063,9 +5058,7 @@ static int tg3_reset_hw(struct tg3 *tp)
tg3_write_sig_pre_reset
(
tp
,
RESET_KIND_INIT
);
if
(
tp
->
tg3_flags
&
TG3_FLAG_INIT_COMPLETE
)
{
err
=
tg3_abort_hw
(
tp
);
if
(
err
)
return
err
;
tg3_abort_hw
(
tp
,
1
);
}
err
=
tg3_chip_reset
(
tp
);
...
...
@@ -5919,7 +5912,7 @@ static int tg3_test_msi(struct tg3 *tp)
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
err
=
tg3_init_hw
(
tp
);
spin_unlock
(
&
tp
->
tx_lock
);
...
...
@@ -5984,7 +5977,7 @@ static int tg3_open(struct net_device *dev)
err
=
tg3_init_hw
(
tp
);
if
(
err
)
{
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_free_rings
(
tp
);
}
else
{
tp
->
timer_offset
=
HZ
/
10
;
...
...
@@ -6020,7 +6013,7 @@ static int tg3_open(struct net_device *dev)
pci_disable_msi
(
tp
->
pdev
);
tp
->
tg3_flags2
&=
~
TG3_FLG2_USING_MSI
;
}
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_free_rings
(
tp
);
tg3_free_consistent
(
tp
);
...
...
@@ -6293,7 +6286,7 @@ static int tg3_close(struct net_device *dev)
tg3_disable_ints
(
tp
);
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_free_rings
(
tp
);
tp
->
tg3_flags
&=
~
(
TG3_FLAG_INIT_COMPLETE
|
...
...
@@ -7013,7 +7006,7 @@ static int tg3_set_ringparam(struct net_device *dev, struct ethtool_ringparam *e
tp
->
tx_pending
=
ering
->
tx_pending
;
if
(
netif_running
(
dev
))
{
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_init_hw
(
tp
);
tg3_netif_start
(
tp
);
}
...
...
@@ -7056,7 +7049,7 @@ static int tg3_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam
tp
->
tg3_flags
&=
~
TG3_FLAG_TX_PAUSE
;
if
(
netif_running
(
dev
))
{
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_init_hw
(
tp
);
tg3_netif_start
(
tp
);
}
...
...
@@ -9239,7 +9232,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev,
(
tr32
(
WDMAC_MODE
)
&
WDMAC_MODE_ENABLE
))
{
pci_save_state
(
tp
->
pdev
);
tw32
(
MEMARB_MODE
,
MEMARB_MODE_ENABLE
);
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
}
err
=
tg3_test_dma
(
tp
);
...
...
@@ -9362,7 +9355,7 @@ static int tg3_suspend(struct pci_dev *pdev, pm_message_t state)
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
spin_unlock
(
&
tp
->
tx_lock
);
spin_unlock_irq
(
&
tp
->
lock
);
...
...
include/linux/if_ltalk.h
View file @
fd4e5f29
...
...
@@ -6,7 +6,7 @@
#define LTALK_ALEN 1
#ifdef __KERNEL__
extern
void
ltalk_setup
(
struct
net_device
*
);
extern
struct
net_device
*
alloc_ltalkdev
(
int
sizeof_priv
);
#endif
#endif
include/net/sock.h
View file @
fd4e5f29
...
...
@@ -141,6 +141,7 @@ struct sock_common {
* @sk_callback_lock: used with the callbacks in the end of this struct
* @sk_error_queue: rarely used
* @sk_prot: protocol handlers inside a network family
* @sk_prot_creator: sk_prot of original sock creator (see ipv6_setsockopt, IPV6_ADDRFORM for instance)
* @sk_err: last error
* @sk_err_soft: errors that don't cause failure but are the cause of a persistent failure not just 'timed out'
* @sk_ack_backlog: current listen backlog
...
...
@@ -218,6 +219,7 @@ struct sock {
}
sk_backlog
;
struct
sk_buff_head
sk_error_queue
;
struct
proto
*
sk_prot
;
struct
proto
*
sk_prot_creator
;
rwlock_t
sk_callback_lock
;
int
sk_err
,
sk_err_soft
;
...
...
net/appletalk/dev.c
View file @
fd4e5f29
...
...
@@ -19,7 +19,7 @@ static int ltalk_mac_addr(struct net_device *dev, void *addr)
return
-
EINVAL
;
}
void
ltalk_setup
(
struct
net_device
*
dev
)
static
void
ltalk_setup
(
struct
net_device
*
dev
)
{
/* Fill in the fields of the device structure with localtalk-generic values. */
...
...
@@ -40,4 +40,22 @@ void ltalk_setup(struct net_device *dev)
dev
->
flags
=
IFF_BROADCAST
|
IFF_MULTICAST
|
IFF_NOARP
;
}
EXPORT_SYMBOL
(
ltalk_setup
);
/**
* alloc_ltalkdev - Allocates and sets up an localtalk device
* @sizeof_priv: Size of additional driver-private structure to be allocated
* for this localtalk device
*
* Fill in the fields of the device structure with localtalk-generic
* values. Basically does everything except registering the device.
*
* Constructs a new net device, complete with a private data area of
* size @sizeof_priv. A 32-byte (not bit) alignment is enforced for
* this private data area.
*/
struct
net_device
*
alloc_ltalkdev
(
int
sizeof_priv
)
{
return
alloc_netdev
(
sizeof_priv
,
"lt%d"
,
ltalk_setup
);
}
EXPORT_SYMBOL
(
alloc_ltalkdev
);
net/core/sock.c
View file @
fd4e5f29
...
...
@@ -635,7 +635,11 @@ struct sock *sk_alloc(int family, int priority, struct proto *prot, int zero_it)
if
(
zero_it
)
{
memset
(
sk
,
0
,
prot
->
obj_size
);
sk
->
sk_family
=
family
;
sk
->
sk_prot
=
prot
;
/*
* See comment in struct sock definition to understand
* why we need sk_prot_creator -acme
*/
sk
->
sk_prot
=
sk
->
sk_prot_creator
=
prot
;
sock_lock_init
(
sk
);
}
...
...
@@ -654,7 +658,7 @@ struct sock *sk_alloc(int family, int priority, struct proto *prot, int zero_it)
void
sk_free
(
struct
sock
*
sk
)
{
struct
sk_filter
*
filter
;
struct
module
*
owner
=
sk
->
sk_prot
->
owner
;
struct
module
*
owner
=
sk
->
sk_prot
_creator
->
owner
;
if
(
sk
->
sk_destruct
)
sk
->
sk_destruct
(
sk
);
...
...
@@ -672,8 +676,8 @@ void sk_free(struct sock *sk)
__FUNCTION__
,
atomic_read
(
&
sk
->
sk_omem_alloc
));
security_sk_free
(
sk
);
if
(
sk
->
sk_prot
->
slab
!=
NULL
)
kmem_cache_free
(
sk
->
sk_prot
->
slab
,
sk
);
if
(
sk
->
sk_prot
_creator
->
slab
!=
NULL
)
kmem_cache_free
(
sk
->
sk_prot
_creator
->
slab
,
sk
);
else
kfree
(
sk
);
module_put
(
owner
);
...
...
net/decnet/dn_dev.c
View file @
fd4e5f29
...
...
@@ -1426,7 +1426,7 @@ static struct rtnetlink_link dnet_rtnetlink_table[RTM_NR_MSGTYPES] =
[
RTM_GETRULE
-
RTM_BASE
]
=
{
.
dumpit
=
dn_fib_dump_rules
,
},
#else
[
RTM_GETROUTE
-
RTM_BASE
]
=
{
.
doit
=
dn_cache_getroute
,
.
dumpit
=
dn_cache_dump
,
.
dumpit
=
dn_cache_dump
,
},
#endif
};
...
...
net/ipv4/multipath_wrandom.c
View file @
fd4e5f29
...
...
@@ -172,7 +172,7 @@ static void wrandom_select_route(const struct flowi *flp,
multipath_comparekeys
(
&
rt
->
fl
,
flp
))
{
struct
multipath_candidate
*
mpc
=
(
struct
multipath_candidate
*
)
kmalloc
(
size_mpc
,
GFP_
KERNEL
);
kmalloc
(
size_mpc
,
GFP_
ATOMIC
);
if
(
!
mpc
)
return
;
...
...
@@ -244,7 +244,7 @@ static void wrandom_set_nhinfo(__u32 network,
if
(
!
target_route
)
{
const
size_t
size_rt
=
sizeof
(
struct
multipath_route
);
target_route
=
(
struct
multipath_route
*
)
kmalloc
(
size_rt
,
GFP_
KERNEL
);
kmalloc
(
size_rt
,
GFP_
ATOMIC
);
target_route
->
gw
=
nh
->
nh_gw
;
target_route
->
oif
=
nh
->
nh_oif
;
...
...
@@ -265,7 +265,7 @@ static void wrandom_set_nhinfo(__u32 network,
if
(
!
target_dest
)
{
const
size_t
size_dst
=
sizeof
(
struct
multipath_dest
);
target_dest
=
(
struct
multipath_dest
*
)
kmalloc
(
size_dst
,
GFP_
KERNEL
);
kmalloc
(
size_dst
,
GFP_
ATOMIC
);
target_dest
->
nh_info
=
nh
;
target_dest
->
network
=
network
;
...
...
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