Revision 42b5212fee4f57907e9415b18fe19c13e65574bc authored by David Vrabel on 02 February 2015, 16:57:51 UTC, committed by David S. Miller on 03 February 2015, 03:39:04 UTC
After commit e9d8b2c2968499c1f96563e6522c56958d5a1d0d (xen-netback:
disable rogue vif in kthread context), a fatal (protocol) error would
leave the guest Rx thread spinning, wasting CPU time.  Commit
ecf08d2dbb96d5a4b4bcc53a39e8d29cc8fef02e (xen-netback: reintroduce
guest Rx stall detection) made this even worse by removing a
cond_resched() from this path.

Since a fatal error is non-recoverable, just allow the guest Rx thread
to exit.  This requires taking additional refs to the task so the
thread exiting early is handled safely.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reported-by: Julien Grall <julien.grall@linaro.org>
Tested-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 5a2e87b
Raw File
leds-blinkm.txt
The leds-blinkm driver supports the devices of the BlinkM family.

They are RGB-LED modules driven by a (AT)tiny microcontroller and
communicate through I2C. The default address of these modules is
0x09 but this can be changed through a command. By this you could
dasy-chain up to 127 BlinkMs on an I2C bus.

The device accepts RGB and HSB color values through separate commands.
Also you can store blinking sequences as "scripts" in
the controller and run them. Also fading is an option.

The interface this driver provides is 2-fold:

a) LED class interface for use with triggers
############################################

The registration follows the scheme:
blinkm-<i2c-bus-nr>-<i2c-device-nr>-<color>

$ ls -h /sys/class/leds/blinkm-6-*
/sys/class/leds/blinkm-6-9-blue:
brightness  device  max_brightness  power  subsystem  trigger  uevent

/sys/class/leds/blinkm-6-9-green:
brightness  device  max_brightness  power  subsystem  trigger  uevent

/sys/class/leds/blinkm-6-9-red:
brightness  device  max_brightness  power  subsystem  trigger  uevent

(same is /sys/bus/i2c/devices/6-0009/leds)

We can control the colors separated into red, green and blue and
assign triggers on each color.

E.g.:

$ cat blinkm-6-9-blue/brightness
05

$ echo 200 > blinkm-6-9-blue/brightness
$

$ modprobe ledtrig-heartbeat
$ echo heartbeat > blinkm-6-9-green/trigger
$


b) Sysfs group to control rgb, fade, hsb, scripts ...
#####################################################

This extended interface is available as folder blinkm
in the sysfs folder of the I2C device.
E.g. below /sys/bus/i2c/devices/6-0009/blinkm

$ ls -h /sys/bus/i2c/devices/6-0009/blinkm/
blue  green  red  test

Currently supported is just setting red, green, blue
and a test sequence.

E.g.:

$ cat *
00
00
00
#Write into test to start test sequence!#

$ echo 1 > test
$

$ echo 255 > red
$



as of 6/2012

dl9pf <at> gmx <dot> de

back to top