Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
36d6b375
Commit
36d6b375
authored
Jul 28, 2009
by
Thomas Gleixner
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'rt/drivers-net' into rt/base
parents
478d9a6f
cc78f78d
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
30 additions
and
39 deletions
+30
-39
drivers/net/8139too.c
drivers/net/8139too.c
+5
-1
drivers/net/atl1c/atl1c_main.c
drivers/net/atl1c/atl1c_main.c
+2
-5
drivers/net/atl1e/atl1e_main.c
drivers/net/atl1e/atl1e_main.c
+1
-2
drivers/net/chelsio/sge.c
drivers/net/chelsio/sge.c
+1
-2
drivers/net/loopback.c
drivers/net/loopback.c
+14
-5
drivers/net/rionet.c
drivers/net/rionet.c
+1
-5
drivers/net/s2io.c
drivers/net/s2io.c
+1
-6
drivers/net/sungem.c
drivers/net/sungem.c
+2
-6
drivers/net/tehuti.c
drivers/net/tehuti.c
+2
-7
drivers/net/tulip/tulip_core.c
drivers/net/tulip/tulip_core.c
+1
-0
No files found.
drivers/net/8139too.c
View file @
36d6b375
...
...
@@ -2195,7 +2195,11 @@ static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance)
*/
static
void
rtl8139_poll_controller
(
struct
net_device
*
dev
)
{
disable_irq
(
dev
->
irq
);
/*
* use _nosync() variant - might be used by netconsole
* from atomic contexts:
*/
disable_irq_nosync
(
dev
->
irq
);
rtl8139_interrupt
(
dev
->
irq
,
dev
);
enable_irq
(
dev
->
irq
);
}
...
...
drivers/net/atl1c/atl1c_main.c
View file @
36d6b375
...
...
@@ -2069,11 +2069,8 @@ static int atl1c_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
}
tpd_req
=
atl1c_cal_tpd_req
(
skb
);
if
(
!
spin_trylock_irqsave
(
&
adapter
->
tx_lock
,
flags
))
{
if
(
netif_msg_pktdata
(
adapter
))
dev_info
(
&
adapter
->
pdev
->
dev
,
"tx locked
\n
"
);
return
NETDEV_TX_LOCKED
;
}
spin_lock_irqsave
(
&
adapter
->
tx_lock
,
flags
);
if
(
skb
->
mark
==
0x01
)
type
=
atl1c_trans_high
;
else
...
...
drivers/net/atl1e/atl1e_main.c
View file @
36d6b375
...
...
@@ -1856,8 +1856,7 @@ static int atl1e_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
return
NETDEV_TX_OK
;
}
tpd_req
=
atl1e_cal_tdp_req
(
skb
);
if
(
!
spin_trylock_irqsave
(
&
adapter
->
tx_lock
,
flags
))
return
NETDEV_TX_LOCKED
;
spin_lock_irqsave
(
&
adapter
->
tx_lock
,
flags
);
if
(
atl1e_tpd_avail
(
adapter
)
<
tpd_req
)
{
/* no enough descriptor, just stop queue */
...
...
drivers/net/chelsio/sge.c
View file @
36d6b375
...
...
@@ -1671,8 +1671,7 @@ static int t1_sge_tx(struct sk_buff *skb, struct adapter *adapter,
struct
cmdQ
*
q
=
&
sge
->
cmdQ
[
qid
];
unsigned
int
credits
,
pidx
,
genbit
,
count
,
use_sched_skb
=
0
;
if
(
!
spin_trylock
(
&
q
->
lock
))
return
NETDEV_TX_LOCKED
;
spin_lock
(
&
q
->
lock
);
reclaim_completed_tx
(
sge
,
q
);
...
...
drivers/net/loopback.c
View file @
36d6b375
...
...
@@ -65,6 +65,14 @@ struct pcpu_lstats {
unsigned
long
drops
;
};
#ifdef CONFIG_PREEMPT_RT
# define xmit_get_cpu() get_cpu()
# define xmit_put_cpu() put_cpu()
#else
# define xmit_get_cpu() smp_processor_id()
# define xmit_put_cpu() do { } while (0)
#endif
/*
* The higher levels take care of making this non-reentrant (it's
* called with bh's disabled).
...
...
@@ -72,22 +80,23 @@ struct pcpu_lstats {
static
int
loopback_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
)
{
struct
pcpu_lstats
*
pcpu_lstats
,
*
lb_stats
;
int
len
;
int
len
,
res
;
skb_orphan
(
skb
);
skb
->
protocol
=
eth_type_trans
(
skb
,
dev
);
len
=
skb
->
len
;
res
=
netif_rx
(
skb
);
/* it's OK to use per_cpu_ptr() because BHs are off */
pcpu_lstats
=
dev
->
ml_priv
;
lb_stats
=
per_cpu_ptr
(
pcpu_lstats
,
smp_processor_id
());
lb_stats
=
per_cpu_ptr
(
pcpu_lstats
,
xmit_get_cpu
());
len
=
skb
->
len
;
if
(
likely
(
netif_rx
(
skb
)
==
NET_RX_SUCCESS
))
{
if
(
likely
(
res
==
NET_RX_SUCCESS
))
{
lb_stats
->
bytes
+=
len
;
lb_stats
->
packets
++
;
}
else
lb_stats
->
drops
++
;
xmit_put_cpu
();
return
0
;
}
...
...
drivers/net/rionet.c
View file @
36d6b375
...
...
@@ -180,11 +180,7 @@ static int rionet_start_xmit(struct sk_buff *skb, struct net_device *ndev)
u16
destid
;
unsigned
long
flags
;
local_irq_save
(
flags
);
if
(
!
spin_trylock
(
&
rnet
->
tx_lock
))
{
local_irq_restore
(
flags
);
return
NETDEV_TX_LOCKED
;
}
spin_lock_irqsave
(
&
rnet
->
tx_lock
,
flags
);
if
((
rnet
->
tx_cnt
+
1
)
>
RIONET_TX_RING_SIZE
)
{
netif_stop_queue
(
ndev
);
...
...
drivers/net/s2io.c
View file @
36d6b375
...
...
@@ -4161,12 +4161,7 @@ static int s2io_xmit(struct sk_buff *skb, struct net_device *dev)
[
skb
->
priority
&
(
MAX_TX_FIFOS
-
1
)];
fifo
=
&
mac_control
->
fifos
[
queue
];
if
(
do_spin_lock
)
spin_lock_irqsave
(
&
fifo
->
tx_lock
,
flags
);
else
{
if
(
unlikely
(
!
spin_trylock_irqsave
(
&
fifo
->
tx_lock
,
flags
)))
return
NETDEV_TX_LOCKED
;
}
spin_lock_irqsave
(
&
fifo
->
tx_lock
,
flags
);
if
(
sp
->
config
.
multiq
)
{
if
(
__netif_subqueue_stopped
(
dev
,
fifo
->
fifo_no
))
{
...
...
drivers/net/sungem.c
View file @
36d6b375
...
...
@@ -1032,12 +1032,8 @@ static int gem_start_xmit(struct sk_buff *skb, struct net_device *dev)
(
csum_stuff_off
<<
21
));
}
local_irq_save
(
flags
);
if
(
!
spin_trylock
(
&
gp
->
tx_lock
))
{
/* Tell upper layer to requeue */
local_irq_restore
(
flags
);
return
NETDEV_TX_LOCKED
;
}
spin_lock_irqsave
(
&
gp
->
tx_lock
,
flags
);
/* We raced with gem_do_stop() */
if
(
!
gp
->
running
)
{
spin_unlock_irqrestore
(
&
gp
->
tx_lock
,
flags
);
...
...
drivers/net/tehuti.c
View file @
36d6b375
...
...
@@ -1638,13 +1638,8 @@ static int bdx_tx_transmit(struct sk_buff *skb, struct net_device *ndev)
unsigned
long
flags
;
ENTER
;
local_irq_save
(
flags
);
if
(
!
spin_trylock
(
&
priv
->
tx_lock
))
{
local_irq_restore
(
flags
);
DBG
(
"%s[%s]: TX locked, returning NETDEV_TX_LOCKED
\n
"
,
BDX_DRV_NAME
,
ndev
->
name
);
return
NETDEV_TX_LOCKED
;
}
spin_lock_irqsave
(
&
priv
->
tx_lock
,
flags
);
/* build tx descriptor */
BDX_ASSERT
(
f
->
m
.
wptr
>=
f
->
m
.
memsz
);
/* started with valid wptr */
...
...
drivers/net/tulip/tulip_core.c
View file @
36d6b375
...
...
@@ -1816,6 +1816,7 @@ static void __devexit tulip_remove_one (struct pci_dev *pdev)
pci_iounmap
(
pdev
,
tp
->
base_addr
);
free_netdev
(
dev
);
pci_release_regions
(
pdev
);
pci_disable_device
(
pdev
);
pci_set_drvdata
(
pdev
,
NULL
);
/* pci_power_off (pdev, -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