summaryrefslogtreecommitdiff
path: root/backend/epson2-ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'backend/epson2-ops.c')
-rw-r--r--backend/epson2-ops.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/backend/epson2-ops.c b/backend/epson2-ops.c
index faf0ffa..61930f6 100644
--- a/backend/epson2-ops.c
+++ b/backend/epson2-ops.c
@@ -1774,10 +1774,16 @@ e2_ext_read(struct Epson_Scanner *s)
return status;
}
- if (e2_dev_model(dev, "GT-8200") || e2_dev_model(dev, "Perfection1650")) {
- /* See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597922#127 */
- s->buf[buf_len] &= 0xc0;
- }
+ /* Some scanners wrongly set FSG_STATUS_CANCEL_REQ. Mask it out.
+ * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597922#127
+ * https://gitlab.com/sane-project/backends/-/issues/716
+ */
+ if (e2_dev_model(dev, "GT-8200") || e2_dev_model(dev, "Perfection1650") ||
+ e2_dev_model(dev, "GT-10000") || e2_dev_model(dev, "ES-6000") ||
+ e2_dev_model(dev, "Perfection610") || e2_dev_model(dev, "GT-6600") ||
+ e2_dev_model(dev, "Perfection1200") || e2_dev_model(dev, "GT-7600") ||
+ e2_dev_model(dev, "Expression1600") || e2_dev_model(dev, "ES-2000"))
+ s->buf[buf_len] &= FSG_STATUS_FER | FSG_STATUS_NOT_READY;
if (s->buf[buf_len] & FSG_STATUS_CANCEL_REQ) {
DBG(0, "%s: cancel request received\n", __func__);