diff options
author | Arnaldo Carvalho de Melo <acme@mandriva.com> | 2005-09-22 06:57:21 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@mandriva.com> | 2005-09-22 06:57:21 -0400 |
commit | d389424e00f9097cd24b3df4ca0ab7221f140eeb (patch) | |
tree | 9ffa95a4e791b19e5d793a06943e40221858b236 /net/llc/llc_station.c | |
parent | 2928c19e1086e2f1e90d05931437ab6f1e4cfdc8 (diff) |
[LLC]: Fix the accept path
Borrowing the structure of TCP/IP for this. On the receive of new connections I
was bh_lock_socking the _new_ sock, not the listening one, duh, now it survives
the ssh connections storm I've been using to test this specific bug.
Also fixes send side skb sock accounting.
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Diffstat (limited to 'net/llc/llc_station.c')
-rw-r--r-- | net/llc/llc_station.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/llc/llc_station.c b/net/llc/llc_station.c index ec4693fe312f..f37dbf8ef126 100644 --- a/net/llc/llc_station.c +++ b/net/llc/llc_station.c | |||
@@ -254,7 +254,7 @@ static int llc_station_ac_inc_xid_r_cnt_by_1(struct sk_buff *skb) | |||
254 | static int llc_station_ac_send_null_dsap_xid_c(struct sk_buff *skb) | 254 | static int llc_station_ac_send_null_dsap_xid_c(struct sk_buff *skb) |
255 | { | 255 | { |
256 | int rc = 1; | 256 | int rc = 1; |
257 | struct sk_buff *nskb = llc_alloc_frame(skb->dev); | 257 | struct sk_buff *nskb = llc_alloc_frame(NULL, skb->dev); |
258 | 258 | ||
259 | if (!nskb) | 259 | if (!nskb) |
260 | goto out; | 260 | goto out; |
@@ -275,7 +275,7 @@ static int llc_station_ac_send_xid_r(struct sk_buff *skb) | |||
275 | { | 275 | { |
276 | u8 mac_da[ETH_ALEN], dsap; | 276 | u8 mac_da[ETH_ALEN], dsap; |
277 | int rc = 1; | 277 | int rc = 1; |
278 | struct sk_buff* nskb = llc_alloc_frame(skb->dev); | 278 | struct sk_buff* nskb = llc_alloc_frame(NULL, skb->dev); |
279 | 279 | ||
280 | if (!nskb) | 280 | if (!nskb) |
281 | goto out; | 281 | goto out; |
@@ -299,7 +299,7 @@ static int llc_station_ac_send_test_r(struct sk_buff *skb) | |||
299 | { | 299 | { |
300 | u8 mac_da[ETH_ALEN], dsap; | 300 | u8 mac_da[ETH_ALEN], dsap; |
301 | int rc = 1; | 301 | int rc = 1; |
302 | struct sk_buff *nskb = llc_alloc_frame(skb->dev); | 302 | struct sk_buff *nskb = llc_alloc_frame(NULL, skb->dev); |
303 | 303 | ||
304 | if (!nskb) | 304 | if (!nskb) |
305 | goto out; | 305 | goto out; |