X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=net%2Fatm%2Fresources.c;h=a34ba948af96dd5a471adeecd201198556e59340;hb=63a16f90167850010864a9e8ebb71d216983090f;hp=529f7e64aa2c33ae45d162b035ccf241431c6c0d;hpb=da547d775fa9ba8d9dcaee7bc4e960540e2be576;p=linux-2.6 diff --git a/net/atm/resources.c b/net/atm/resources.c index 529f7e64aa..a34ba948af 100644 --- a/net/atm/resources.c +++ b/net/atm/resources.c @@ -142,8 +142,8 @@ void atm_dev_deregister(struct atm_dev *dev) set_bit(ATM_DF_REMOVED, &dev->flags); /* - * if we remove current device from atm_devs list, new device - * with same number can appear, such we need deregister proc, + * if we remove current device from atm_devs list, new device + * with same number can appear, such we need deregister proc, * release async all vccs and remove them from vccs list too */ mutex_lock(&atm_dev_mutex); @@ -228,7 +228,7 @@ int atm_dev_ioctl(unsigned int cmd, void __user *arg) *tmp_p++ = dev->number; } mutex_unlock(&atm_dev_mutex); - error = ((copy_to_user(buf, tmp_buf, size)) || + error = ((copy_to_user(buf, tmp_buf, size)) || put_user(size, &iobuf->length)) ? -EFAULT : 0; kfree(tmp_buf); @@ -247,7 +247,7 @@ int atm_dev_ioctl(unsigned int cmd, void __user *arg) if (!(dev = try_then_request_module(atm_dev_lookup(number), "atm-device-%d", number))) return -ENODEV; - + switch (cmd) { case ATM_GETTYPE: size = strlen(dev->type) + 1; @@ -390,7 +390,7 @@ int atm_dev_ioctl(unsigned int cmd, void __user *arg) goto done; } } - + if (size) error = put_user(size, &sioc->length) ? -EFAULT : 0; @@ -414,19 +414,20 @@ static __inline__ void *dev_get_idx(loff_t left) void *atm_dev_seq_start(struct seq_file *seq, loff_t *pos) { - mutex_lock(&atm_dev_mutex); - return *pos ? dev_get_idx(*pos) : (void *) 1; + mutex_lock(&atm_dev_mutex); + return *pos ? dev_get_idx(*pos) : SEQ_START_TOKEN; } void atm_dev_seq_stop(struct seq_file *seq, void *v) { - mutex_unlock(&atm_dev_mutex); + mutex_unlock(&atm_dev_mutex); } - + void *atm_dev_seq_next(struct seq_file *seq, void *v, loff_t *pos) { ++*pos; - v = (v == (void *)1) ? atm_devs.next : ((struct list_head *)v)->next; + v = (v == SEQ_START_TOKEN) + ? atm_devs.next : ((struct list_head *)v)->next; return (v == &atm_devs) ? NULL : v; }