[OE-core] Fwd: [PATCH] Access c_ispeed and c_ospeed via APIs

Bruce Ashfield bruce.ashfield at windriver.com
Wed Apr 13 17:15:23 UTC 2016


On 2016-04-13 11:57 AM, Khem Raj wrote:
> On Tue, Apr 12, 2016 at 3:33 PM, Khem Raj <raj.khem at gmail.com> wrote:
>> I think I see the problem now. The constant should be converted to use Bnn
>> values. When calling the baudrate apis. I will send a patch for you to test
>> once I am close to computer
>
> I have sent a potential patch.
>
> http://lists.openembedded.org/pipermail/openembedded-core/2016-April/120229.html
>
>   It worked on musl env that I had ready here. Can you test it
> with your env and make sure it works for you ?

confirmed. I reverted my local change, applied this and socat is
working without the assert.

Bruce

>
>
>
>
>>
>> On Apr 12, 2016 6:20 PM, "Khem Raj" <raj.khem at gmail.com> wrote:
>>
>> Since you have it reproduced. Can you check which of the api call is
>> failing?
>>
>> On Apr 12, 2016 5:05 PM, "Bruce Ashfield" <bruce.ashfield at windriver.com>
>> wrote:
>>>
>>> On 2016-04-12 1:53 PM, Khem Raj wrote:
>>>>
>>>> FYI
>>>
>>>
>>> Thanks. I can also confirm that when I dropped the patch, I'm
>>> back up and running assertion free.
>>>
>>> Bruce
>>>
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: Gerhard Rieger <gerhard at dest-unreach.org>
>>>> Date: Wed, Mar 16, 2016 at 4:43 AM
>>>> Subject: Re: [PATCH] Access c_ispeed and c_ospeed via APIs
>>>> To: Khem Raj <raj.khem at gmail.com>
>>>>
>>>>
>>>> Thank you, I will check this patch!
>>>> - Gerhard
>>>>
>>>>
>>>> Am 15.03.2016 um 22:39 schrieb Khem Raj:
>>>>>
>>>>> Use cfsetispeed(), cfsetospeed(), cfgetispeed, and cfgetospeed()
>>>>> instead of operating on c_ispeed and c_ospeed termios structure
>>>>> members directly because they are not guaranteed to exist on all
>>>>> libc implementations
>>>>>
>>>>> Signed-off-by: Khem Raj <raj.khem at gmail.com>
>>>>> ---
>>>>>    xioinitialize.c | 8 ++++----
>>>>>    1 file changed, 4 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/xioinitialize.c b/xioinitialize.c
>>>>> index 9f50155..632ca4c 100644
>>>>> --- a/xioinitialize.c
>>>>> +++ b/xioinitialize.c
>>>>> @@ -65,10 +65,10 @@ int xioinitialize(void) {
>>>>>    #if HAVE_TERMIOS_ISPEED && (ISPEED_OFFSET != -1) && (OSPEED_OFFSET !=
>>>>> -1)
>>>>>    #if defined(ISPEED_OFFSET) && (ISPEED_OFFSET != -1)
>>>>>    #if defined(OSPEED_OFFSET) && (OSPEED_OFFSET != -1)
>>>>> -      tdata.termarg.c_ispeed = 0x56789abc;
>>>>> -      tdata.termarg.c_ospeed = 0x6789abcd;
>>>>> -      assert(tdata.termarg.c_ispeed == tdata.speeds[ISPEED_OFFSET]);
>>>>> -      assert(tdata.termarg.c_ospeed == tdata.speeds[OSPEED_OFFSET]);
>>>>> +      cfsetispeed(&tdata.termarg, 0x56789abc);
>>>>> +      cfsetospeed(&tdata.termarg, 0x6789abcd);
>>>>> +      assert(cfgetispeed(&tdata.termarg) ==
>>>>> tdata.speeds[ISPEED_OFFSET]);
>>>>> +      assert(cfgetospeed(&tdata.termarg) ==
>>>>> tdata.speeds[OSPEED_OFFSET]);
>>>>>    #endif
>>>>>    #endif
>>>>>    #endif
>>>>>
>>>
>>




More information about the Openembedded-core mailing list