summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2003-02-15 14:25:30 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2003-02-15 14:25:30 +0100
commit69e9a07f8b5808d04207256fd4413c4eece93966 (patch)
tree7b13c37eeaa74d96c63fefc66d453bd24d6f3049
parentf721c85b46dcf641b4e9e4ba9382c8321160b805 (diff)
downloadvdr-69e9a07f8b5808d04207256fd4413c4eece93966.tar.gz
vdr-69e9a07f8b5808d04207256fd4413c4eece93966.tar.bz2
Resetting the CAM slot in case communication breaks down
-rw-r--r--HISTORY1
-rw-r--r--ci.c14
2 files changed, 7 insertions, 8 deletions
diff --git a/HISTORY b/HISTORY
index e00a0c03..2c5b4c59 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1964,3 +1964,4 @@ Video Disk Recorder Revision History
- Fixed margin handling in cRingBufferLinear.
- Now polling the output device in 'Transfer Mode' and retrying to put packets
into the ring buffer.
+- Resetting the CAM slot in case communication breaks down.
diff --git a/ci.c b/ci.c
index b602219f..06a08c43 100644
--- a/ci.c
+++ b/ci.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: ci.c 1.5 2003/02/09 12:45:00 kls Exp $
+ * $Id: ci.c 1.6 2003/02/15 14:14:57 kls Exp $
*/
/* XXX TODO
@@ -1453,13 +1453,11 @@ void cCiHandler::Process(void)
}
}
}
- else {
- if (!CloseAllSessions(Slot)) {
- if (tpl->ModuleReady(Slot)) {
- dbgprotocol("Module ready in slot %d\n", Slot);
- tpl->NewConnection(Slot);
- }
- }
+ else if (CloseAllSessions(Slot))
+ tpl->ResetSlot(Slot);
+ else if (tpl->ModuleReady(Slot)) {
+ dbgprotocol("Module ready in slot %d\n", Slot);
+ tpl->NewConnection(Slot);
}
}
for (int i = 0; i < MAX_CI_SESSION; i++) {