diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 00:04:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 00:04:44 -0400 |
commit | f8965467f366fd18f01feafb5db10512d7b4422c (patch) | |
tree | 3706a9cd779859271ca61b85c63a1bc3f82d626e /net/atm | |
parent | a26272e5200765691e67d6780e52b32498fdb659 (diff) | |
parent | 2ec8c6bb5d8f3a62a79f463525054bae1e3d4487 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1674 commits)
qlcnic: adding co maintainer
ixgbe: add support for active DA cables
ixgbe: dcb, do not tag tc_prio_control frames
ixgbe: fix ixgbe_tx_is_paused logic
ixgbe: always enable vlan strip/insert when DCB is enabled
ixgbe: remove some redundant code in setting FCoE FIP filter
ixgbe: fix wrong offset to fc_frame_header in ixgbe_fcoe_ddp
ixgbe: fix header len when unsplit packet overflows to data buffer
ipv6: Never schedule DAD timer on dead address
ipv6: Use POSTDAD state
ipv6: Use state_lock to protect ifa state
ipv6: Replace inet6_ifaddr->dead with state
cxgb4: notify upper drivers if the device is already up when they load
cxgb4: keep interrupts available when the ports are brought down
cxgb4: fix initial addition of MAC address
cnic: Return SPQ credit to bnx2x after ring setup and shutdown.
cnic: Convert cnic_local_flags to atomic ops.
can: Fix SJA1000 command register writes on SMP systems
bridge: fix build for CONFIG_SYSFS disabled
ARCNET: Limit com20020 PCI ID matches for SOHARD cards
...
Fix up various conflicts with pcmcia tree drivers/net/
{pcmcia/3c589_cs.c, wireless/orinoco/orinoco_cs.c and
wireless/orinoco/spectrum_cs.c} and feature removal
(Documentation/feature-removal-schedule.txt).
Also fix a non-content conflict due to pm_qos_requirement getting
renamed in the PM tree (now pm_qos_request) in net/mac80211/scan.c
Diffstat (limited to 'net/atm')
-rw-r--r-- | net/atm/br2684.c | 1 | ||||
-rw-r--r-- | net/atm/common.c | 30 | ||||
-rw-r--r-- | net/atm/lec.c | 6 | ||||
-rw-r--r-- | net/atm/mpc.c | 32 | ||||
-rw-r--r-- | net/atm/mpoa_caches.c | 20 | ||||
-rw-r--r-- | net/atm/proc.c | 10 | ||||
-rw-r--r-- | net/atm/signaling.c | 2 | ||||
-rw-r--r-- | net/atm/svc.c | 62 |
8 files changed, 51 insertions, 112 deletions
diff --git a/net/atm/br2684.c b/net/atm/br2684.c index d6c7ceaf13e9..6719af6a59fa 100644 --- a/net/atm/br2684.c +++ b/net/atm/br2684.c | |||
@@ -446,7 +446,6 @@ error: | |||
446 | net_dev->stats.rx_errors++; | 446 | net_dev->stats.rx_errors++; |
447 | free_skb: | 447 | free_skb: |
448 | dev_kfree_skb(skb); | 448 | dev_kfree_skb(skb); |
449 | return; | ||
450 | } | 449 | } |
451 | 450 | ||
452 | /* | 451 | /* |
diff --git a/net/atm/common.c b/net/atm/common.c index 97ed94aa0cbc..b43feb1a3995 100644 --- a/net/atm/common.c +++ b/net/atm/common.c | |||
@@ -90,10 +90,13 @@ static void vcc_sock_destruct(struct sock *sk) | |||
90 | 90 | ||
91 | static void vcc_def_wakeup(struct sock *sk) | 91 | static void vcc_def_wakeup(struct sock *sk) |
92 | { | 92 | { |
93 | read_lock(&sk->sk_callback_lock); | 93 | struct socket_wq *wq; |
94 | if (sk_has_sleeper(sk)) | 94 | |
95 | wake_up(sk->sk_sleep); | 95 | rcu_read_lock(); |
96 | read_unlock(&sk->sk_callback_lock); | 96 | wq = rcu_dereference(sk->sk_wq); |
97 | if (wq_has_sleeper(wq)) | ||
98 | wake_up(&wq->wait); | ||
99 | rcu_read_unlock(); | ||
97 | } | 100 | } |
98 | 101 | ||
99 | static inline int vcc_writable(struct sock *sk) | 102 | static inline int vcc_writable(struct sock *sk) |
@@ -106,16 +109,19 @@ static inline int vcc_writable(struct sock *sk) | |||
106 | 109 | ||
107 | static void vcc_write_space(struct sock *sk) | 110 | static void vcc_write_space(struct sock *sk) |
108 | { | 111 | { |
109 | read_lock(&sk->sk_callback_lock); | 112 | struct socket_wq *wq; |
113 | |||
114 | rcu_read_lock(); | ||
110 | 115 | ||
111 | if (vcc_writable(sk)) { | 116 | if (vcc_writable(sk)) { |
112 | if (sk_has_sleeper(sk)) | 117 | wq = rcu_dereference(sk->sk_wq); |
113 | wake_up_interruptible(sk->sk_sleep); | 118 | if (wq_has_sleeper(wq)) |
119 | wake_up_interruptible(&wq->wait); | ||
114 | 120 | ||
115 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); | 121 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); |
116 | } | 122 | } |
117 | 123 | ||
118 | read_unlock(&sk->sk_callback_lock); | 124 | rcu_read_unlock(); |
119 | } | 125 | } |
120 | 126 | ||
121 | static struct proto vcc_proto = { | 127 | static struct proto vcc_proto = { |
@@ -549,7 +555,7 @@ int vcc_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, | |||
549 | } | 555 | } |
550 | 556 | ||
551 | eff = (size+3) & ~3; /* align to word boundary */ | 557 | eff = (size+3) & ~3; /* align to word boundary */ |
552 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 558 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
553 | error = 0; | 559 | error = 0; |
554 | while (!(skb = alloc_tx(vcc, eff))) { | 560 | while (!(skb = alloc_tx(vcc, eff))) { |
555 | if (m->msg_flags & MSG_DONTWAIT) { | 561 | if (m->msg_flags & MSG_DONTWAIT) { |
@@ -568,9 +574,9 @@ int vcc_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, | |||
568 | send_sig(SIGPIPE, current, 0); | 574 | send_sig(SIGPIPE, current, 0); |
569 | break; | 575 | break; |
570 | } | 576 | } |
571 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 577 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
572 | } | 578 | } |
573 | finish_wait(sk->sk_sleep, &wait); | 579 | finish_wait(sk_sleep(sk), &wait); |
574 | if (error) | 580 | if (error) |
575 | goto out; | 581 | goto out; |
576 | skb->dev = NULL; /* for paths shared with net_device interfaces */ | 582 | skb->dev = NULL; /* for paths shared with net_device interfaces */ |
@@ -595,7 +601,7 @@ unsigned int vcc_poll(struct file *file, struct socket *sock, poll_table *wait) | |||
595 | struct atm_vcc *vcc; | 601 | struct atm_vcc *vcc; |
596 | unsigned int mask; | 602 | unsigned int mask; |
597 | 603 | ||
598 | sock_poll_wait(file, sk->sk_sleep, wait); | 604 | sock_poll_wait(file, sk_sleep(sk), wait); |
599 | mask = 0; | 605 | mask = 0; |
600 | 606 | ||
601 | vcc = ATM_SD(sock); | 607 | vcc = ATM_SD(sock); |
diff --git a/net/atm/lec.c b/net/atm/lec.c index feeaf5718472..d98bde1a0ac8 100644 --- a/net/atm/lec.c +++ b/net/atm/lec.c | |||
@@ -161,8 +161,6 @@ static void lec_handle_bridge(struct sk_buff *skb, struct net_device *dev) | |||
161 | skb_queue_tail(&sk->sk_receive_queue, skb2); | 161 | skb_queue_tail(&sk->sk_receive_queue, skb2); |
162 | sk->sk_data_ready(sk, skb2->len); | 162 | sk->sk_data_ready(sk, skb2->len); |
163 | } | 163 | } |
164 | |||
165 | return; | ||
166 | } | 164 | } |
167 | #endif /* defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) */ | 165 | #endif /* defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) */ |
168 | 166 | ||
@@ -640,7 +638,6 @@ static void lec_set_multicast_list(struct net_device *dev) | |||
640 | * by default, all multicast frames arrive over the bus. | 638 | * by default, all multicast frames arrive over the bus. |
641 | * eventually support selective multicast service | 639 | * eventually support selective multicast service |
642 | */ | 640 | */ |
643 | return; | ||
644 | } | 641 | } |
645 | 642 | ||
646 | static const struct net_device_ops lec_netdev_ops = { | 643 | static const struct net_device_ops lec_netdev_ops = { |
@@ -1199,8 +1196,6 @@ static void __exit lane_module_cleanup(void) | |||
1199 | dev_lec[i] = NULL; | 1196 | dev_lec[i] = NULL; |
1200 | } | 1197 | } |
1201 | } | 1198 | } |
1202 | |||
1203 | return; | ||
1204 | } | 1199 | } |
1205 | 1200 | ||
1206 | module_init(lane_module_init); | 1201 | module_init(lane_module_init); |
@@ -1334,7 +1329,6 @@ static void lane2_associate_ind(struct net_device *dev, const u8 *mac_addr, | |||
1334 | priv->lane2_ops->associate_indicator(dev, mac_addr, | 1329 | priv->lane2_ops->associate_indicator(dev, mac_addr, |
1335 | tlvs, sizeoftlvs); | 1330 | tlvs, sizeoftlvs); |
1336 | } | 1331 | } |
1337 | return; | ||
1338 | } | 1332 | } |
1339 | 1333 | ||
1340 | /* | 1334 | /* |
diff --git a/net/atm/mpc.c b/net/atm/mpc.c index 436f2e177657..622b471e14e0 100644 --- a/net/atm/mpc.c +++ b/net/atm/mpc.c | |||
@@ -455,7 +455,6 @@ static void lane2_assoc_ind(struct net_device *dev, const u8 *mac_addr, | |||
455 | if (end_of_tlvs - tlvs != 0) | 455 | if (end_of_tlvs - tlvs != 0) |
456 | pr_info("(%s) ignoring %Zd bytes of trailing TLV garbage\n", | 456 | pr_info("(%s) ignoring %Zd bytes of trailing TLV garbage\n", |
457 | dev->name, end_of_tlvs - tlvs); | 457 | dev->name, end_of_tlvs - tlvs); |
458 | return; | ||
459 | } | 458 | } |
460 | 459 | ||
461 | /* | 460 | /* |
@@ -684,8 +683,6 @@ static void mpc_vcc_close(struct atm_vcc *vcc, struct net_device *dev) | |||
684 | 683 | ||
685 | if (in_entry == NULL && eg_entry == NULL) | 684 | if (in_entry == NULL && eg_entry == NULL) |
686 | dprintk("(%s) unused vcc closed\n", dev->name); | 685 | dprintk("(%s) unused vcc closed\n", dev->name); |
687 | |||
688 | return; | ||
689 | } | 686 | } |
690 | 687 | ||
691 | static void mpc_push(struct atm_vcc *vcc, struct sk_buff *skb) | 688 | static void mpc_push(struct atm_vcc *vcc, struct sk_buff *skb) |
@@ -783,8 +780,6 @@ static void mpc_push(struct atm_vcc *vcc, struct sk_buff *skb) | |||
783 | 780 | ||
784 | memset(ATM_SKB(skb), 0, sizeof(struct atm_skb_data)); | 781 | memset(ATM_SKB(skb), 0, sizeof(struct atm_skb_data)); |
785 | netif_rx(new_skb); | 782 | netif_rx(new_skb); |
786 | |||
787 | return; | ||
788 | } | 783 | } |
789 | 784 | ||
790 | static struct atmdev_ops mpc_ops = { /* only send is required */ | 785 | static struct atmdev_ops mpc_ops = { /* only send is required */ |
@@ -873,8 +868,6 @@ static void send_set_mps_ctrl_addr(const char *addr, struct mpoa_client *mpc) | |||
873 | mesg.type = SET_MPS_CTRL_ADDR; | 868 | mesg.type = SET_MPS_CTRL_ADDR; |
874 | memcpy(mesg.MPS_ctrl, addr, ATM_ESA_LEN); | 869 | memcpy(mesg.MPS_ctrl, addr, ATM_ESA_LEN); |
875 | msg_to_mpoad(&mesg, mpc); | 870 | msg_to_mpoad(&mesg, mpc); |
876 | |||
877 | return; | ||
878 | } | 871 | } |
879 | 872 | ||
880 | static void mpoad_close(struct atm_vcc *vcc) | 873 | static void mpoad_close(struct atm_vcc *vcc) |
@@ -911,8 +904,6 @@ static void mpoad_close(struct atm_vcc *vcc) | |||
911 | pr_info("(%s) going down\n", | 904 | pr_info("(%s) going down\n", |
912 | (mpc->dev) ? mpc->dev->name : "<unknown>"); | 905 | (mpc->dev) ? mpc->dev->name : "<unknown>"); |
913 | module_put(THIS_MODULE); | 906 | module_put(THIS_MODULE); |
914 | |||
915 | return; | ||
916 | } | 907 | } |
917 | 908 | ||
918 | /* | 909 | /* |
@@ -1122,7 +1113,6 @@ static void MPOA_trigger_rcvd(struct k_message *msg, struct mpoa_client *mpc) | |||
1122 | pr_info("(%s) entry already in resolving state\n", | 1113 | pr_info("(%s) entry already in resolving state\n", |
1123 | (mpc->dev) ? mpc->dev->name : "<unknown>"); | 1114 | (mpc->dev) ? mpc->dev->name : "<unknown>"); |
1124 | mpc->in_ops->put(entry); | 1115 | mpc->in_ops->put(entry); |
1125 | return; | ||
1126 | } | 1116 | } |
1127 | 1117 | ||
1128 | /* | 1118 | /* |
@@ -1166,7 +1156,6 @@ static void check_qos_and_open_shortcut(struct k_message *msg, | |||
1166 | } else | 1156 | } else |
1167 | memset(&msg->qos, 0, sizeof(struct atm_qos)); | 1157 | memset(&msg->qos, 0, sizeof(struct atm_qos)); |
1168 | msg_to_mpoad(msg, client); | 1158 | msg_to_mpoad(msg, client); |
1169 | return; | ||
1170 | } | 1159 | } |
1171 | 1160 | ||
1172 | static void MPOA_res_reply_rcvd(struct k_message *msg, struct mpoa_client *mpc) | 1161 | static void MPOA_res_reply_rcvd(struct k_message *msg, struct mpoa_client *mpc) |
@@ -1240,8 +1229,6 @@ static void ingress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc) | |||
1240 | mpc->in_ops->put(entry); | 1229 | mpc->in_ops->put(entry); |
1241 | entry = mpc->in_ops->get_with_mask(dst_ip, mpc, mask); | 1230 | entry = mpc->in_ops->get_with_mask(dst_ip, mpc, mask); |
1242 | } while (entry != NULL); | 1231 | } while (entry != NULL); |
1243 | |||
1244 | return; | ||
1245 | } | 1232 | } |
1246 | 1233 | ||
1247 | static void egress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc) | 1234 | static void egress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc) |
@@ -1260,8 +1247,6 @@ static void egress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc) | |||
1260 | write_unlock_irq(&mpc->egress_lock); | 1247 | write_unlock_irq(&mpc->egress_lock); |
1261 | 1248 | ||
1262 | mpc->eg_ops->put(entry); | 1249 | mpc->eg_ops->put(entry); |
1263 | |||
1264 | return; | ||
1265 | } | 1250 | } |
1266 | 1251 | ||
1267 | static void purge_egress_shortcut(struct atm_vcc *vcc, eg_cache_entry *entry) | 1252 | static void purge_egress_shortcut(struct atm_vcc *vcc, eg_cache_entry *entry) |
@@ -1295,8 +1280,6 @@ static void purge_egress_shortcut(struct atm_vcc *vcc, eg_cache_entry *entry) | |||
1295 | skb_queue_tail(&sk->sk_receive_queue, skb); | 1280 | skb_queue_tail(&sk->sk_receive_queue, skb); |
1296 | sk->sk_data_ready(sk, skb->len); | 1281 | sk->sk_data_ready(sk, skb->len); |
1297 | dprintk("exiting\n"); | 1282 | dprintk("exiting\n"); |
1298 | |||
1299 | return; | ||
1300 | } | 1283 | } |
1301 | 1284 | ||
1302 | /* | 1285 | /* |
@@ -1325,8 +1308,6 @@ static void mps_death(struct k_message *msg, struct mpoa_client *mpc) | |||
1325 | 1308 | ||
1326 | mpc->in_ops->destroy_cache(mpc); | 1309 | mpc->in_ops->destroy_cache(mpc); |
1327 | mpc->eg_ops->destroy_cache(mpc); | 1310 | mpc->eg_ops->destroy_cache(mpc); |
1328 | |||
1329 | return; | ||
1330 | } | 1311 | } |
1331 | 1312 | ||
1332 | static void MPOA_cache_impos_rcvd(struct k_message *msg, | 1313 | static void MPOA_cache_impos_rcvd(struct k_message *msg, |
@@ -1353,8 +1334,6 @@ static void MPOA_cache_impos_rcvd(struct k_message *msg, | |||
1353 | write_unlock_irq(&mpc->egress_lock); | 1334 | write_unlock_irq(&mpc->egress_lock); |
1354 | 1335 | ||
1355 | mpc->eg_ops->put(entry); | 1336 | mpc->eg_ops->put(entry); |
1356 | |||
1357 | return; | ||
1358 | } | 1337 | } |
1359 | 1338 | ||
1360 | static void set_mpc_ctrl_addr_rcvd(struct k_message *mesg, | 1339 | static void set_mpc_ctrl_addr_rcvd(struct k_message *mesg, |
@@ -1392,8 +1371,6 @@ static void set_mpc_ctrl_addr_rcvd(struct k_message *mesg, | |||
1392 | pr_info("(%s) targetless LE_ARP request failed\n", | 1371 | pr_info("(%s) targetless LE_ARP request failed\n", |
1393 | mpc->dev->name); | 1372 | mpc->dev->name); |
1394 | } | 1373 | } |
1395 | |||
1396 | return; | ||
1397 | } | 1374 | } |
1398 | 1375 | ||
1399 | static void set_mps_mac_addr_rcvd(struct k_message *msg, | 1376 | static void set_mps_mac_addr_rcvd(struct k_message *msg, |
@@ -1409,8 +1386,6 @@ static void set_mps_mac_addr_rcvd(struct k_message *msg, | |||
1409 | return; | 1386 | return; |
1410 | } | 1387 | } |
1411 | client->number_of_mps_macs = 1; | 1388 | client->number_of_mps_macs = 1; |
1412 | |||
1413 | return; | ||
1414 | } | 1389 | } |
1415 | 1390 | ||
1416 | /* | 1391 | /* |
@@ -1436,7 +1411,6 @@ static void clean_up(struct k_message *msg, struct mpoa_client *mpc, int action) | |||
1436 | 1411 | ||
1437 | msg->type = action; | 1412 | msg->type = action; |
1438 | msg_to_mpoad(msg, mpc); | 1413 | msg_to_mpoad(msg, mpc); |
1439 | return; | ||
1440 | } | 1414 | } |
1441 | 1415 | ||
1442 | static void mpc_timer_refresh(void) | 1416 | static void mpc_timer_refresh(void) |
@@ -1445,8 +1419,6 @@ static void mpc_timer_refresh(void) | |||
1445 | mpc_timer.data = mpc_timer.expires; | 1419 | mpc_timer.data = mpc_timer.expires; |
1446 | mpc_timer.function = mpc_cache_check; | 1420 | mpc_timer.function = mpc_cache_check; |
1447 | add_timer(&mpc_timer); | 1421 | add_timer(&mpc_timer); |
1448 | |||
1449 | return; | ||
1450 | } | 1422 | } |
1451 | 1423 | ||
1452 | static void mpc_cache_check(unsigned long checking_time) | 1424 | static void mpc_cache_check(unsigned long checking_time) |
@@ -1471,8 +1443,6 @@ static void mpc_cache_check(unsigned long checking_time) | |||
1471 | mpc = mpc->next; | 1443 | mpc = mpc->next; |
1472 | } | 1444 | } |
1473 | mpc_timer_refresh(); | 1445 | mpc_timer_refresh(); |
1474 | |||
1475 | return; | ||
1476 | } | 1446 | } |
1477 | 1447 | ||
1478 | static int atm_mpoa_ioctl(struct socket *sock, unsigned int cmd, | 1448 | static int atm_mpoa_ioctl(struct socket *sock, unsigned int cmd, |
@@ -1561,8 +1531,6 @@ static void __exit atm_mpoa_cleanup(void) | |||
1561 | kfree(qos); | 1531 | kfree(qos); |
1562 | qos = nextqos; | 1532 | qos = nextqos; |
1563 | } | 1533 | } |
1564 | |||
1565 | return; | ||
1566 | } | 1534 | } |
1567 | 1535 | ||
1568 | module_init(atm_mpoa_init); | 1536 | module_init(atm_mpoa_init); |
diff --git a/net/atm/mpoa_caches.c b/net/atm/mpoa_caches.c index e773d8336918..d1b2d9a03144 100644 --- a/net/atm/mpoa_caches.c +++ b/net/atm/mpoa_caches.c | |||
@@ -182,8 +182,6 @@ static void in_cache_put(in_cache_entry *entry) | |||
182 | memset(entry, 0, sizeof(in_cache_entry)); | 182 | memset(entry, 0, sizeof(in_cache_entry)); |
183 | kfree(entry); | 183 | kfree(entry); |
184 | } | 184 | } |
185 | |||
186 | return; | ||
187 | } | 185 | } |
188 | 186 | ||
189 | /* | 187 | /* |
@@ -221,8 +219,6 @@ static void in_cache_remove_entry(in_cache_entry *entry, | |||
221 | } | 219 | } |
222 | vcc_release_async(vcc, -EPIPE); | 220 | vcc_release_async(vcc, -EPIPE); |
223 | } | 221 | } |
224 | |||
225 | return; | ||
226 | } | 222 | } |
227 | 223 | ||
228 | /* Call this every MPC-p2 seconds... Not exactly correct solution, | 224 | /* Call this every MPC-p2 seconds... Not exactly correct solution, |
@@ -248,8 +244,6 @@ static void clear_count_and_expired(struct mpoa_client *client) | |||
248 | entry = next_entry; | 244 | entry = next_entry; |
249 | } | 245 | } |
250 | write_unlock_bh(&client->ingress_lock); | 246 | write_unlock_bh(&client->ingress_lock); |
251 | |||
252 | return; | ||
253 | } | 247 | } |
254 | 248 | ||
255 | /* Call this every MPC-p4 seconds. */ | 249 | /* Call this every MPC-p4 seconds. */ |
@@ -334,8 +328,6 @@ static void in_destroy_cache(struct mpoa_client *mpc) | |||
334 | while (mpc->in_cache != NULL) | 328 | while (mpc->in_cache != NULL) |
335 | mpc->in_ops->remove_entry(mpc->in_cache, mpc); | 329 | mpc->in_ops->remove_entry(mpc->in_cache, mpc); |
336 | write_unlock_irq(&mpc->ingress_lock); | 330 | write_unlock_irq(&mpc->ingress_lock); |
337 | |||
338 | return; | ||
339 | } | 331 | } |
340 | 332 | ||
341 | static eg_cache_entry *eg_cache_get_by_cache_id(__be32 cache_id, | 333 | static eg_cache_entry *eg_cache_get_by_cache_id(__be32 cache_id, |
@@ -427,8 +419,6 @@ static void eg_cache_put(eg_cache_entry *entry) | |||
427 | memset(entry, 0, sizeof(eg_cache_entry)); | 419 | memset(entry, 0, sizeof(eg_cache_entry)); |
428 | kfree(entry); | 420 | kfree(entry); |
429 | } | 421 | } |
430 | |||
431 | return; | ||
432 | } | 422 | } |
433 | 423 | ||
434 | /* | 424 | /* |
@@ -463,8 +453,6 @@ static void eg_cache_remove_entry(eg_cache_entry *entry, | |||
463 | } | 453 | } |
464 | vcc_release_async(vcc, -EPIPE); | 454 | vcc_release_async(vcc, -EPIPE); |
465 | } | 455 | } |
466 | |||
467 | return; | ||
468 | } | 456 | } |
469 | 457 | ||
470 | static eg_cache_entry *eg_cache_add_entry(struct k_message *msg, | 458 | static eg_cache_entry *eg_cache_add_entry(struct k_message *msg, |
@@ -509,8 +497,6 @@ static void update_eg_cache_entry(eg_cache_entry *entry, uint16_t holding_time) | |||
509 | do_gettimeofday(&(entry->tv)); | 497 | do_gettimeofday(&(entry->tv)); |
510 | entry->entry_state = EGRESS_RESOLVED; | 498 | entry->entry_state = EGRESS_RESOLVED; |
511 | entry->ctrl_info.holding_time = holding_time; | 499 | entry->ctrl_info.holding_time = holding_time; |
512 | |||
513 | return; | ||
514 | } | 500 | } |
515 | 501 | ||
516 | static void clear_expired(struct mpoa_client *client) | 502 | static void clear_expired(struct mpoa_client *client) |
@@ -537,8 +523,6 @@ static void clear_expired(struct mpoa_client *client) | |||
537 | entry = next_entry; | 523 | entry = next_entry; |
538 | } | 524 | } |
539 | write_unlock_irq(&client->egress_lock); | 525 | write_unlock_irq(&client->egress_lock); |
540 | |||
541 | return; | ||
542 | } | 526 | } |
543 | 527 | ||
544 | static void eg_destroy_cache(struct mpoa_client *mpc) | 528 | static void eg_destroy_cache(struct mpoa_client *mpc) |
@@ -547,8 +531,6 @@ static void eg_destroy_cache(struct mpoa_client *mpc) | |||
547 | while (mpc->eg_cache != NULL) | 531 | while (mpc->eg_cache != NULL) |
548 | mpc->eg_ops->remove_entry(mpc->eg_cache, mpc); | 532 | mpc->eg_ops->remove_entry(mpc->eg_cache, mpc); |
549 | write_unlock_irq(&mpc->egress_lock); | 533 | write_unlock_irq(&mpc->egress_lock); |
550 | |||
551 | return; | ||
552 | } | 534 | } |
553 | 535 | ||
554 | 536 | ||
@@ -584,6 +566,4 @@ void atm_mpoa_init_cache(struct mpoa_client *mpc) | |||
584 | { | 566 | { |
585 | mpc->in_ops = &ingress_ops; | 567 | mpc->in_ops = &ingress_ops; |
586 | mpc->eg_ops = &egress_ops; | 568 | mpc->eg_ops = &egress_ops; |
587 | |||
588 | return; | ||
589 | } | 569 | } |
diff --git a/net/atm/proc.c b/net/atm/proc.c index 696e218436e5..6262aeae398e 100644 --- a/net/atm/proc.c +++ b/net/atm/proc.c | |||
@@ -407,7 +407,6 @@ EXPORT_SYMBOL(atm_proc_root); | |||
407 | 407 | ||
408 | int atm_proc_dev_register(struct atm_dev *dev) | 408 | int atm_proc_dev_register(struct atm_dev *dev) |
409 | { | 409 | { |
410 | int digits, num; | ||
411 | int error; | 410 | int error; |
412 | 411 | ||
413 | /* No proc info */ | 412 | /* No proc info */ |
@@ -415,16 +414,9 @@ int atm_proc_dev_register(struct atm_dev *dev) | |||
415 | return 0; | 414 | return 0; |
416 | 415 | ||
417 | error = -ENOMEM; | 416 | error = -ENOMEM; |
418 | digits = 0; | 417 | dev->proc_name = kasprintf(GFP_KERNEL, "%s:%d", dev->type, dev->number); |
419 | for (num = dev->number; num; num /= 10) | ||
420 | digits++; | ||
421 | if (!digits) | ||
422 | digits++; | ||
423 | |||
424 | dev->proc_name = kmalloc(strlen(dev->type) + digits + 2, GFP_KERNEL); | ||
425 | if (!dev->proc_name) | 418 | if (!dev->proc_name) |
426 | goto err_out; | 419 | goto err_out; |
427 | sprintf(dev->proc_name, "%s:%d", dev->type, dev->number); | ||
428 | 420 | ||
429 | dev->proc_entry = proc_create_data(dev->proc_name, 0, atm_proc_root, | 421 | dev->proc_entry = proc_create_data(dev->proc_name, 0, atm_proc_root, |
430 | &proc_atm_dev_ops, dev); | 422 | &proc_atm_dev_ops, dev); |
diff --git a/net/atm/signaling.c b/net/atm/signaling.c index 6ba6e466ee54..509c8ac02b63 100644 --- a/net/atm/signaling.c +++ b/net/atm/signaling.c | |||
@@ -131,7 +131,7 @@ static int sigd_send(struct atm_vcc *vcc, struct sk_buff *skb) | |||
131 | } | 131 | } |
132 | sk->sk_ack_backlog++; | 132 | sk->sk_ack_backlog++; |
133 | skb_queue_tail(&sk->sk_receive_queue, skb); | 133 | skb_queue_tail(&sk->sk_receive_queue, skb); |
134 | pr_debug("waking sk->sk_sleep 0x%p\n", sk->sk_sleep); | 134 | pr_debug("waking sk_sleep(sk) 0x%p\n", sk_sleep(sk)); |
135 | sk->sk_state_change(sk); | 135 | sk->sk_state_change(sk); |
136 | as_indicate_complete: | 136 | as_indicate_complete: |
137 | release_sock(sk); | 137 | release_sock(sk); |
diff --git a/net/atm/svc.c b/net/atm/svc.c index 3ba9a45a51ac..754ee4791d96 100644 --- a/net/atm/svc.c +++ b/net/atm/svc.c | |||
@@ -49,14 +49,14 @@ static void svc_disconnect(struct atm_vcc *vcc) | |||
49 | 49 | ||
50 | pr_debug("%p\n", vcc); | 50 | pr_debug("%p\n", vcc); |
51 | if (test_bit(ATM_VF_REGIS, &vcc->flags)) { | 51 | if (test_bit(ATM_VF_REGIS, &vcc->flags)) { |
52 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 52 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
53 | sigd_enq(vcc, as_close, NULL, NULL, NULL); | 53 | sigd_enq(vcc, as_close, NULL, NULL, NULL); |
54 | while (!test_bit(ATM_VF_RELEASED, &vcc->flags) && sigd) { | 54 | while (!test_bit(ATM_VF_RELEASED, &vcc->flags) && sigd) { |
55 | schedule(); | 55 | schedule(); |
56 | prepare_to_wait(sk->sk_sleep, &wait, | 56 | prepare_to_wait(sk_sleep(sk), &wait, |
57 | TASK_UNINTERRUPTIBLE); | 57 | TASK_UNINTERRUPTIBLE); |
58 | } | 58 | } |
59 | finish_wait(sk->sk_sleep, &wait); | 59 | finish_wait(sk_sleep(sk), &wait); |
60 | } | 60 | } |
61 | /* beware - socket is still in use by atmsigd until the last | 61 | /* beware - socket is still in use by atmsigd until the last |
62 | as_indicate has been answered */ | 62 | as_indicate has been answered */ |
@@ -125,13 +125,13 @@ static int svc_bind(struct socket *sock, struct sockaddr *sockaddr, | |||
125 | } | 125 | } |
126 | vcc->local = *addr; | 126 | vcc->local = *addr; |
127 | set_bit(ATM_VF_WAITING, &vcc->flags); | 127 | set_bit(ATM_VF_WAITING, &vcc->flags); |
128 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 128 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
129 | sigd_enq(vcc, as_bind, NULL, NULL, &vcc->local); | 129 | sigd_enq(vcc, as_bind, NULL, NULL, &vcc->local); |
130 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 130 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
131 | schedule(); | 131 | schedule(); |
132 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 132 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
133 | } | 133 | } |
134 | finish_wait(sk->sk_sleep, &wait); | 134 | finish_wait(sk_sleep(sk), &wait); |
135 | clear_bit(ATM_VF_REGIS, &vcc->flags); /* doesn't count */ | 135 | clear_bit(ATM_VF_REGIS, &vcc->flags); /* doesn't count */ |
136 | if (!sigd) { | 136 | if (!sigd) { |
137 | error = -EUNATCH; | 137 | error = -EUNATCH; |
@@ -201,10 +201,10 @@ static int svc_connect(struct socket *sock, struct sockaddr *sockaddr, | |||
201 | } | 201 | } |
202 | vcc->remote = *addr; | 202 | vcc->remote = *addr; |
203 | set_bit(ATM_VF_WAITING, &vcc->flags); | 203 | set_bit(ATM_VF_WAITING, &vcc->flags); |
204 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 204 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
205 | sigd_enq(vcc, as_connect, NULL, NULL, &vcc->remote); | 205 | sigd_enq(vcc, as_connect, NULL, NULL, &vcc->remote); |
206 | if (flags & O_NONBLOCK) { | 206 | if (flags & O_NONBLOCK) { |
207 | finish_wait(sk->sk_sleep, &wait); | 207 | finish_wait(sk_sleep(sk), &wait); |
208 | sock->state = SS_CONNECTING; | 208 | sock->state = SS_CONNECTING; |
209 | error = -EINPROGRESS; | 209 | error = -EINPROGRESS; |
210 | goto out; | 210 | goto out; |
@@ -213,7 +213,7 @@ static int svc_connect(struct socket *sock, struct sockaddr *sockaddr, | |||
213 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 213 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
214 | schedule(); | 214 | schedule(); |
215 | if (!signal_pending(current)) { | 215 | if (!signal_pending(current)) { |
216 | prepare_to_wait(sk->sk_sleep, &wait, | 216 | prepare_to_wait(sk_sleep(sk), &wait, |
217 | TASK_INTERRUPTIBLE); | 217 | TASK_INTERRUPTIBLE); |
218 | continue; | 218 | continue; |
219 | } | 219 | } |
@@ -232,14 +232,14 @@ static int svc_connect(struct socket *sock, struct sockaddr *sockaddr, | |||
232 | */ | 232 | */ |
233 | sigd_enq(vcc, as_close, NULL, NULL, NULL); | 233 | sigd_enq(vcc, as_close, NULL, NULL, NULL); |
234 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 234 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
235 | prepare_to_wait(sk->sk_sleep, &wait, | 235 | prepare_to_wait(sk_sleep(sk), &wait, |
236 | TASK_INTERRUPTIBLE); | 236 | TASK_INTERRUPTIBLE); |
237 | schedule(); | 237 | schedule(); |
238 | } | 238 | } |
239 | if (!sk->sk_err) | 239 | if (!sk->sk_err) |
240 | while (!test_bit(ATM_VF_RELEASED, &vcc->flags) && | 240 | while (!test_bit(ATM_VF_RELEASED, &vcc->flags) && |
241 | sigd) { | 241 | sigd) { |
242 | prepare_to_wait(sk->sk_sleep, &wait, | 242 | prepare_to_wait(sk_sleep(sk), &wait, |
243 | TASK_INTERRUPTIBLE); | 243 | TASK_INTERRUPTIBLE); |
244 | schedule(); | 244 | schedule(); |
245 | } | 245 | } |
@@ -250,7 +250,7 @@ static int svc_connect(struct socket *sock, struct sockaddr *sockaddr, | |||
250 | error = -EINTR; | 250 | error = -EINTR; |
251 | break; | 251 | break; |
252 | } | 252 | } |
253 | finish_wait(sk->sk_sleep, &wait); | 253 | finish_wait(sk_sleep(sk), &wait); |
254 | if (error) | 254 | if (error) |
255 | goto out; | 255 | goto out; |
256 | if (!sigd) { | 256 | if (!sigd) { |
@@ -302,13 +302,13 @@ static int svc_listen(struct socket *sock, int backlog) | |||
302 | goto out; | 302 | goto out; |
303 | } | 303 | } |
304 | set_bit(ATM_VF_WAITING, &vcc->flags); | 304 | set_bit(ATM_VF_WAITING, &vcc->flags); |
305 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 305 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
306 | sigd_enq(vcc, as_listen, NULL, NULL, &vcc->local); | 306 | sigd_enq(vcc, as_listen, NULL, NULL, &vcc->local); |
307 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 307 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
308 | schedule(); | 308 | schedule(); |
309 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 309 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
310 | } | 310 | } |
311 | finish_wait(sk->sk_sleep, &wait); | 311 | finish_wait(sk_sleep(sk), &wait); |
312 | if (!sigd) { | 312 | if (!sigd) { |
313 | error = -EUNATCH; | 313 | error = -EUNATCH; |
314 | goto out; | 314 | goto out; |
@@ -343,7 +343,7 @@ static int svc_accept(struct socket *sock, struct socket *newsock, int flags) | |||
343 | while (1) { | 343 | while (1) { |
344 | DEFINE_WAIT(wait); | 344 | DEFINE_WAIT(wait); |
345 | 345 | ||
346 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 346 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
347 | while (!(skb = skb_dequeue(&sk->sk_receive_queue)) && | 347 | while (!(skb = skb_dequeue(&sk->sk_receive_queue)) && |
348 | sigd) { | 348 | sigd) { |
349 | if (test_bit(ATM_VF_RELEASED, &old_vcc->flags)) | 349 | if (test_bit(ATM_VF_RELEASED, &old_vcc->flags)) |
@@ -363,10 +363,10 @@ static int svc_accept(struct socket *sock, struct socket *newsock, int flags) | |||
363 | error = -ERESTARTSYS; | 363 | error = -ERESTARTSYS; |
364 | break; | 364 | break; |
365 | } | 365 | } |
366 | prepare_to_wait(sk->sk_sleep, &wait, | 366 | prepare_to_wait(sk_sleep(sk), &wait, |
367 | TASK_INTERRUPTIBLE); | 367 | TASK_INTERRUPTIBLE); |
368 | } | 368 | } |
369 | finish_wait(sk->sk_sleep, &wait); | 369 | finish_wait(sk_sleep(sk), &wait); |
370 | if (error) | 370 | if (error) |
371 | goto out; | 371 | goto out; |
372 | if (!skb) { | 372 | if (!skb) { |
@@ -392,17 +392,17 @@ static int svc_accept(struct socket *sock, struct socket *newsock, int flags) | |||
392 | } | 392 | } |
393 | /* wait should be short, so we ignore the non-blocking flag */ | 393 | /* wait should be short, so we ignore the non-blocking flag */ |
394 | set_bit(ATM_VF_WAITING, &new_vcc->flags); | 394 | set_bit(ATM_VF_WAITING, &new_vcc->flags); |
395 | prepare_to_wait(sk_atm(new_vcc)->sk_sleep, &wait, | 395 | prepare_to_wait(sk_sleep(sk_atm(new_vcc)), &wait, |
396 | TASK_UNINTERRUPTIBLE); | 396 | TASK_UNINTERRUPTIBLE); |
397 | sigd_enq(new_vcc, as_accept, old_vcc, NULL, NULL); | 397 | sigd_enq(new_vcc, as_accept, old_vcc, NULL, NULL); |
398 | while (test_bit(ATM_VF_WAITING, &new_vcc->flags) && sigd) { | 398 | while (test_bit(ATM_VF_WAITING, &new_vcc->flags) && sigd) { |
399 | release_sock(sk); | 399 | release_sock(sk); |
400 | schedule(); | 400 | schedule(); |
401 | lock_sock(sk); | 401 | lock_sock(sk); |
402 | prepare_to_wait(sk_atm(new_vcc)->sk_sleep, &wait, | 402 | prepare_to_wait(sk_sleep(sk_atm(new_vcc)), &wait, |
403 | TASK_UNINTERRUPTIBLE); | 403 | TASK_UNINTERRUPTIBLE); |
404 | } | 404 | } |
405 | finish_wait(sk_atm(new_vcc)->sk_sleep, &wait); | 405 | finish_wait(sk_sleep(sk_atm(new_vcc)), &wait); |
406 | if (!sigd) { | 406 | if (!sigd) { |
407 | error = -EUNATCH; | 407 | error = -EUNATCH; |
408 | goto out; | 408 | goto out; |
@@ -438,14 +438,14 @@ int svc_change_qos(struct atm_vcc *vcc, struct atm_qos *qos) | |||
438 | DEFINE_WAIT(wait); | 438 | DEFINE_WAIT(wait); |
439 | 439 | ||
440 | set_bit(ATM_VF_WAITING, &vcc->flags); | 440 | set_bit(ATM_VF_WAITING, &vcc->flags); |
441 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 441 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
442 | sigd_enq2(vcc, as_modify, NULL, NULL, &vcc->local, qos, 0); | 442 | sigd_enq2(vcc, as_modify, NULL, NULL, &vcc->local, qos, 0); |
443 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && | 443 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && |
444 | !test_bit(ATM_VF_RELEASED, &vcc->flags) && sigd) { | 444 | !test_bit(ATM_VF_RELEASED, &vcc->flags) && sigd) { |
445 | schedule(); | 445 | schedule(); |
446 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 446 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
447 | } | 447 | } |
448 | finish_wait(sk->sk_sleep, &wait); | 448 | finish_wait(sk_sleep(sk), &wait); |
449 | if (!sigd) | 449 | if (!sigd) |
450 | return -EUNATCH; | 450 | return -EUNATCH; |
451 | return -sk->sk_err; | 451 | return -sk->sk_err; |
@@ -534,20 +534,20 @@ static int svc_addparty(struct socket *sock, struct sockaddr *sockaddr, | |||
534 | 534 | ||
535 | lock_sock(sk); | 535 | lock_sock(sk); |
536 | set_bit(ATM_VF_WAITING, &vcc->flags); | 536 | set_bit(ATM_VF_WAITING, &vcc->flags); |
537 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 537 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
538 | sigd_enq(vcc, as_addparty, NULL, NULL, | 538 | sigd_enq(vcc, as_addparty, NULL, NULL, |
539 | (struct sockaddr_atmsvc *) sockaddr); | 539 | (struct sockaddr_atmsvc *) sockaddr); |
540 | if (flags & O_NONBLOCK) { | 540 | if (flags & O_NONBLOCK) { |
541 | finish_wait(sk->sk_sleep, &wait); | 541 | finish_wait(sk_sleep(sk), &wait); |
542 | error = -EINPROGRESS; | 542 | error = -EINPROGRESS; |
543 | goto out; | 543 | goto out; |
544 | } | 544 | } |
545 | pr_debug("added wait queue\n"); | 545 | pr_debug("added wait queue\n"); |
546 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 546 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
547 | schedule(); | 547 | schedule(); |
548 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 548 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
549 | } | 549 | } |
550 | finish_wait(sk->sk_sleep, &wait); | 550 | finish_wait(sk_sleep(sk), &wait); |
551 | error = xchg(&sk->sk_err_soft, 0); | 551 | error = xchg(&sk->sk_err_soft, 0); |
552 | out: | 552 | out: |
553 | release_sock(sk); | 553 | release_sock(sk); |
@@ -563,13 +563,13 @@ static int svc_dropparty(struct socket *sock, int ep_ref) | |||
563 | 563 | ||
564 | lock_sock(sk); | 564 | lock_sock(sk); |
565 | set_bit(ATM_VF_WAITING, &vcc->flags); | 565 | set_bit(ATM_VF_WAITING, &vcc->flags); |
566 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 566 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
567 | sigd_enq2(vcc, as_dropparty, NULL, NULL, NULL, NULL, ep_ref); | 567 | sigd_enq2(vcc, as_dropparty, NULL, NULL, NULL, NULL, ep_ref); |
568 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 568 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
569 | schedule(); | 569 | schedule(); |
570 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 570 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
571 | } | 571 | } |
572 | finish_wait(sk->sk_sleep, &wait); | 572 | finish_wait(sk_sleep(sk), &wait); |
573 | if (!sigd) { | 573 | if (!sigd) { |
574 | error = -EUNATCH; | 574 | error = -EUNATCH; |
575 | goto out; | 575 | goto out; |