Opened 10 years ago
Closed 3 years ago
Last modified 3 years ago
#12184 closed Bug Report - General (Fixed)
CI/CAM: Connection establishment for not spec compliant CAMs broken
Reported by: | Owned by: | Klaas de Waal | |
---|---|---|---|
Priority: | minor | Milestone: | 32.0 |
Component: | MythTV - General | Version: | Unspecified |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
This is for MythTV 0.27.1.
I do have a CAM that unconditionally sends T_SB for tcid 2 on connection open which is not spec compliant. MythTV basically provisions for such cases in cCiTransportConnection::CreateConnection?().
However, cCiTransportConnection::RecvTPDU() breaks this as it unconditionally calls Init() on any "error", thus resetting the processing state from CREATION to IDLE.
The attached patch fixes this for my case and should be seen as a sample workaround. Actually some interworking between CreateConnection?() and RecvTPDU() is required to handle the retry cases in state CREATION properly.
Attachments (2)
Change History (6)
Changed 10 years ago by
Attachment: | cam-init-workaround.patch added |
---|
comment:1 Changed 4 years ago by
Owner: | set to Klaas de Waal |
---|---|
Status: | new → assigned |
comment:2 Changed 4 years ago by
Milestone: | unknown → needs_triage |
---|
Changed 3 years ago by
Attachment: | 20210808-trac-12184-cam-init-workaround.patch added |
---|
Patch updated for today's master. Under test.
comment:3 Changed 3 years ago by
Resolution: | → Fixed |
---|---|
Status: | assigned → closed |
The patch as tested results in improved error handling when there is a CAM error. Without the patch, when an error occurs there is an endless stream of CAM errors, repeated every 5 seconds. With the patch the observation is that there is only one CAM error.
Fixed in commit aa683a9e5931c54941251fbef8495f20727373a1.
comment:4 Changed 3 years ago by
Milestone: | needs_triage → 32.0 |
---|
CAM connection establishment workaround