From: Jin C. <jc...@vm...> - 2012-12-28 23:33:30
|
That works. Thanks, -Jin On Thu, Dec 27, 2012 at 1:54 AM, Bart Van Assche <bva...@ac...> wrote: > On 12/27/12 02:30, Jin Cheng wrote: >> Hi, >> >> Not sure it is only happening on scst 2.2.1, if I do: >> >> echo "value 0x9c" > /sys/kernel/scst_tgt/trace_level >> >> it cause endless loop on: >> >> [ 334.489917] scst: Changed trace level for "scst": old 0x0000009c, >> new 0x0000009c > > Does the patch below help ? > > Bart. > > diff --git a/scst/src/scst_sysfs.c b/scst/src/scst_sysfs.c > index 6404f12..b776d05 100644 > --- a/scst/src/scst_sysfs.c > +++ b/scst/src/scst_sysfs.c > @@ -147,7 +147,7 @@ static int scst_write_trace(const char *buf, size_t length, > unsigned long *log_level, unsigned long default_level, > const char *name, const struct scst_trace_log *tbl) > { > - int res = length; > + int res; > int action; > unsigned long level = 0, oldlevel; > char *buffer, *p, *e; > @@ -286,6 +286,8 @@ static int scst_write_trace(const char *buf, size_t length, > PRINT_INFO("Changed trace level for \"%s\": old 0x%08lx, new 0x%08lx", > name, oldlevel, *log_level); > > + res = length; > + > out_free: > kfree(buffer); > out: > -- > 1.7.10.4 |