i++;
/* fallthrough */
default:
- if (filp->f_pos == 2)
- list_move(q, &parent_sd->s_children);
-
+ if (filp->f_pos == 2) {
+ list_del(q);
+ list_add(q, &parent_sd->s_children);
+ }
for (p=q->next; p!= &parent_sd->s_children; p=p->next) {
struct sysfs_dirent *next;
const char * name;
dt_type(next)) < 0)
return 0;
- list_move(q, p);
+ list_del(q);
+ list_add(q, p);
p = q;
filp->f_pos++;
}