qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH for-2.0 v3 1/1] char/serial: Fix emptyness handl


From: Brian Jackson
Subject: Re: [Qemu-devel] [PATCH for-2.0 v3 1/1] char/serial: Fix emptyness handling
Date: Fri, 04 Apr 2014 18:14:01 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.4.0

On 04/04/2014 07:13 AM, Peter Crosthwaite wrote:
> On Fri, Mar 28, 2014 at 10:10 PM, Paolo Bonzini <address@hidden> wrote:
>> Il 28/03/2014 12:43, Don Slutz ha scritto:
>>
>>> Ping.  (Since this is a bug fix, I think it can go into 2.0)
>>>     -Don Slutz

Not sure what the exact standard is for 2.0 stuff... but changing the
subject (to include something about 2.0) or CC'ing Peter Maydell may
help get this into 2.0 (just did both ;)


>>
>> I think the problem is that not many people understand the 8250 device
>> model.  CCing someone who hopefully does...
>>
> I have a bit of experience with 16550 :) Ill push for a merge on this one.
>
> Regards,
> Peter
>
>> Paolo
>>
>>
>>> On 03/18/14 12:29, Don Slutz wrote:
>>>> The commit 88c1ee73d3231c74ff90bcfc084a7589670ec244
>>>> char/serial: Fix emptyness check
>>>>
>>>> Still causes extra NULL byte(s) to be sent.
>>>>
>>>> So if the fifo is empty, do not send an extra NULL byte.
>>>>
>>>> Reviewed-by: Peter Crosthwaite <address@hidden>
>>>> Signed-off-by: Don Slutz <address@hidden>
>>>> ---
>>>> Changes V2 to v3
>>>>    Revert v2 changes
>>>>    Fix coding style issues.
>>>> Changes v1 to v2
>>>>    Do full state change on fifo8_is_empty.
>>>>
>>>>   hw/char/serial.c | 6 ++++--
>>>>   1 file changed, 4 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/hw/char/serial.c b/hw/char/serial.c
>>>> index 6d3b5af..f4d167f 100644
>>>> --- a/hw/char/serial.c
>>>> +++ b/hw/char/serial.c
>>>> @@ -225,8 +225,10 @@ static gboolean serial_xmit(GIOChannel *chan,
>>>> GIOCondition cond, void *opaque)
>>>>         if (s->tsr_retry <= 0) {
>>>>           if (s->fcr & UART_FCR_FE) {
>>>> -            s->tsr = fifo8_is_empty(&s->xmit_fifo) ?
>>>> -                        0 : fifo8_pop(&s->xmit_fifo);
>>>> +            if (fifo8_is_empty(&s->xmit_fifo)) {
>>>> +                return FALSE;
>>>> +            }
>>>> +            s->tsr = fifo8_pop(&s->xmit_fifo);
>>>>               if (!s->xmit_fifo.num) {
>>>>                   s->lsr |= UART_LSR_THRE;
>>>>               }
>>>
>>>
>>>
>>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]