parent
d30491da83
commit
e57c9170bb
@ -1,36 +0,0 @@
|
|||||||
From b15039ceb814ee4c685deec554f342480391b775 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Hurley <phurley@charter.net>
|
|
||||||
Date: Fri, 16 Apr 2010 14:15:40 -0400
|
|
||||||
Subject: [PATCH] Fix for overlooked device HUP with 'firewire' stack
|
|
||||||
|
|
||||||
When EPOLLHUP event is received in fw_loop_iterate(), it is or'd
|
|
||||||
with EPOLLERR. The EPOLLHUP event was then overlooked in
|
|
||||||
handle_device_event() with unpredictable-but-generally bad results.
|
|
||||||
|
|
||||||
This problem has been rediscovered several times.
|
|
||||||
http://thread.gmane.org/gmane.linux.kernel.firewire.devel/13330
|
|
||||||
http://thread.gmane.org/gmane.linux.kernel.firewire.devel/13779
|
|
||||||
|
|
||||||
Reported-by: B.J. Buchalter <bj@mhlabs.com>
|
|
||||||
Reported-by: Michael Thireos <mthireos@vanteon.com>
|
|
||||||
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
|
|
||||||
---
|
|
||||||
src/fw.c | 2 +-
|
|
||||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/fw.c b/src/fw.c
|
|
||||||
index 7277253..d525ac9 100644
|
|
||||||
--- a/src/fw.c
|
|
||||||
+++ b/src/fw.c
|
|
||||||
@@ -262,7 +262,7 @@ handle_device_event(raw1394handle_t handle,
|
|
||||||
int i;
|
|
||||||
|
|
||||||
i = device - fwhandle->devices;
|
|
||||||
- if (events == EPOLLHUP)
|
|
||||||
+ if (events & EPOLLHUP)
|
|
||||||
return handle_lost_device(fwhandle, i);
|
|
||||||
|
|
||||||
len = read(fwhandle->devices[i].fd,
|
|
||||||
--
|
|
||||||
1.7.0.5
|
|
||||||
|
|
Loading…
Reference in new issue