lkml.org 
[lkml]   [2002]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: writing to sysfs appears to hang
On Fri, Nov 15 2002, Mike Anderson wrote:
> Paul Larson [plars@linuxtestproject.org] wrote:
> > I've been playing with sysfs and notices something odd. If I do this:
> > echo 1 > /sys/devices/sys/name
> > the process appears to be hung. ^c won't return control to me. If I
> > log in on another console though, I can't find it running in the process
> > list. All I can do is kill the login process. No kernel errors when I
> > do this, just the hung terminal.
> >
> > -Paul Larson
>
> I repeated your example and in a quick look at the backtrace
> the echo is in a loop calling down into sysfs_write_file/dev_attr_store.
>
> I think the problem is that if a device does not have a attribute store
> function the return value from dev_attr_store is incorrect.

This has been in the deadline-rbtree patches for some time (uses writes
to sysfs, too).

===== fs/sysfs/inode.c 1.59 vs edited =====
--- 1.59/fs/sysfs/inode.c Wed Oct 30 21:27:35 2002
+++ edited/fs/sysfs/inode.c Fri Nov 8 14:33:59 2002
@@ -243,7 +243,7 @@
if (kobj && kobj->subsys)
ops = kobj->subsys->sysfs_ops;
if (!ops || !ops->store)
- return 0;
+ return -EINVAL;

page = (char *)__get_free_page(GFP_KERNEL);
if (!page)

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:31    [W:0.064 / U:0.928 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site