[cecd-devel] [PATCH 6/6] [cecd] fix BROADCAST usage
Status: Beta
Brought to you by:
pbatard
From: Florian F. <f.f...@gm...> - 2011-12-30 14:11:52
|
In case the the device type does not match the first available corresponding logical address, we would be forcing the initiator address to the device_type instead of the current logical_address. --- cecd/cecd.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cecd/cecd.c b/cecd/cecd.c index 5e3e110..331edd9 100644 --- a/cecd/cecd.c +++ b/cecd/cecd.c @@ -39,7 +39,7 @@ #include "profile.h" #include "profile_helpers.h" -#define BROADCAST (device_type<<4 | 0x0F) +#define BROADCAST (0x0F) #define MIN(X,Y) ((X) < (Y) ? (X) : (Y)) #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) @@ -911,7 +911,7 @@ int main(int argc, char** argv) len = i+2; break; case CEC_OP_GIVE_DEVICE_VENDOR_ID: - buffer[0] = BROADCAST; + buffer[0] |= BROADCAST; buffer[1] = CEC_OP_DEVICE_VENDOR_ID; buffer[2] = (device_oui>>16)&0xFF; buffer[3] = (device_oui>>8)&0xFF; @@ -934,7 +934,7 @@ int main(int argc, char** argv) len = 3; break; case CEC_OP_GIVE_PHYSICAL_ADDRESS: - buffer[0] = BROADCAST; + buffer[0] |= BROADCAST; buffer[1] = CEC_OP_REPORT_PHYSICAL_ADDRESS; buffer[2] = physical_address >> 8; buffer[3] = physical_address & 0xFF; @@ -945,7 +945,7 @@ int main(int argc, char** argv) // Ignore if request is for a different phys_addr if ((buffer[2] != (physical_address >> 8)) || (buffer[3] != (physical_address & 0xFF))) break; - buffer[0] = BROADCAST; + buffer[0] |= BROADCAST; buffer[1] = CEC_OP_ACTIVE_SOURCE; buffer[2] = physical_address >> 8; buffer[3] = physical_address & 0xFF; -- 1.7.5.4 |