diff options
-rw-r--r-- | net/rose/af_rose.c | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c index 8feb9e5d6623..e90b9b6c16ae 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c | |||
@@ -1404,29 +1404,13 @@ static int rose_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) | |||
1404 | static void *rose_info_start(struct seq_file *seq, loff_t *pos) | 1404 | static void *rose_info_start(struct seq_file *seq, loff_t *pos) |
1405 | __acquires(rose_list_lock) | 1405 | __acquires(rose_list_lock) |
1406 | { | 1406 | { |
1407 | int i; | ||
1408 | struct sock *s; | ||
1409 | struct hlist_node *node; | ||
1410 | |||
1411 | spin_lock_bh(&rose_list_lock); | 1407 | spin_lock_bh(&rose_list_lock); |
1412 | if (*pos == 0) | 1408 | return seq_hlist_start_head(&rose_list, *pos); |
1413 | return SEQ_START_TOKEN; | ||
1414 | |||
1415 | i = 1; | ||
1416 | sk_for_each(s, node, &rose_list) { | ||
1417 | if (i == *pos) | ||
1418 | return s; | ||
1419 | ++i; | ||
1420 | } | ||
1421 | return NULL; | ||
1422 | } | 1409 | } |
1423 | 1410 | ||
1424 | static void *rose_info_next(struct seq_file *seq, void *v, loff_t *pos) | 1411 | static void *rose_info_next(struct seq_file *seq, void *v, loff_t *pos) |
1425 | { | 1412 | { |
1426 | ++*pos; | 1413 | return seq_hlist_next(v, &rose_list, pos); |
1427 | |||
1428 | return (v == SEQ_START_TOKEN) ? sk_head(&rose_list) | ||
1429 | : sk_next((struct sock *)v); | ||
1430 | } | 1414 | } |
1431 | 1415 | ||
1432 | static void rose_info_stop(struct seq_file *seq, void *v) | 1416 | static void rose_info_stop(struct seq_file *seq, void *v) |
@@ -1444,7 +1428,7 @@ static int rose_info_show(struct seq_file *seq, void *v) | |||
1444 | "dest_addr dest_call src_addr src_call dev lci neigh st vs vr va t t1 t2 t3 hb idle Snd-Q Rcv-Q inode\n"); | 1428 | "dest_addr dest_call src_addr src_call dev lci neigh st vs vr va t t1 t2 t3 hb idle Snd-Q Rcv-Q inode\n"); |
1445 | 1429 | ||
1446 | else { | 1430 | else { |
1447 | struct sock *s = v; | 1431 | struct sock *s = sk_entry(v); |
1448 | struct rose_sock *rose = rose_sk(s); | 1432 | struct rose_sock *rose = rose_sk(s); |
1449 | const char *devname, *callsign; | 1433 | const char *devname, *callsign; |
1450 | const struct net_device *dev = rose->device; | 1434 | const struct net_device *dev = rose->device; |