Ticket #2484 (new bug)

Opened 5 months ago

Last modified 5 months ago

FindPetition doesn't handle cases when event has alternative opcodes

Reported by: monni Owned by: oruizdorantes
Priority: normal Milestone: R1
Component: Drivers/Bluetooth Version: R1 development
Cc: Blocked By:
Platform: All Blocking:

Description

When trying to find matching message, LocalDeviceHandler::FindPetition stops looking for correct message if event matches but opcode isn't correct. In some cases there is alternative opcodes for same event.

Experienced behaviour: Message is not found Expected behaviour: continue looking until opcode matches or runs out of subitems in fEventsWanted.

Attachments

LocalDeviceHandler.diff (0.6 kB) - added by monni 5 months ago.
Patch to change behaviour of FindPetition

Change History

Changed 5 months ago by monni

Patch to change behaviour of FindPetition

Changed 5 months ago by oruizdorantes

The idea is that each opcodeExpected index inside the BMessage has to match its eventExpected index.

There are 2 different events that contains Opcode (CommandStatus and CommandComplete) they cannot be inside the request with a ramdom index. You can achieve this by Adding first those pairs in the request and last events the ones which do not require opcode.

So it is actually the expected/needed behaviour.

Note: See TracTickets for help on using tickets.