AES sensors use the value 0 to indicate "not available" rather than "completely dead". Such values are often sent for dozens of reports while the pen is being brought into proximity and can cause userspace to get the wrong impression about the actual battery state.
Signed-off-by: Jason Gerecke <jason.gere...@wacom.com> Reviewed-by: Ping Cheng <ping.ch...@wacom.com> Signed-off-by: Jiri Kosina <jkos...@suse.cz> [jason.gere...@wacom.com: Imported into input-wacom repository (f496c09c07)] Signed-off-by: Jason Gerecke <jason.gere...@wacom.com> [jason.gere...@wacom.com: Backported from input-wacom repository (3b3b710)] Signed-off-by: Jason Gerecke <jason.gere...@wacom.com> --- 3.17/wacom_wac.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/3.17/wacom_wac.c b/3.17/wacom_wac.c index cc88450..d907497 100644 --- a/3.17/wacom_wac.c +++ b/3.17/wacom_wac.c @@ -2046,6 +2046,8 @@ static void wacom_wac_pen_event(struct hid_device *hdev, struct hid_field *field wacom_wac->hid_data.sense_state = value; return; case HID_DG_BATTERYSTRENGTH: + if (value == 0) /* "not available" */ + break; value = value * 100 / (field->logical_maximum - field->logical_minimum); wacom_wac->hid_data.battery_capacity = value; wacom_wac->hid_data.bat_connected = 1; -- 2.12.2 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel