qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 1/1] char/serial: Fix emptyness handling
@ 2014-03-18 16:29 Don Slutz
  2014-03-28 11:43 ` Don Slutz
  0 siblings, 1 reply; 6+ messages in thread
From: Don Slutz @ 2014-03-18 16:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Crosthwaite, Don Slutz

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 <peter.crosthwaite@xilinx.com>
Signed-off-by: Don Slutz <dslutz@verizon.com>
---
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;
             }
-- 
1.8.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH v3 1/1] char/serial: Fix emptyness handling
  2014-03-18 16:29 [Qemu-devel] [PATCH v3 1/1] char/serial: Fix emptyness handling Don Slutz
@ 2014-03-28 11:43 ` Don Slutz
  2014-03-28 12:10   ` Paolo Bonzini
  0 siblings, 1 reply; 6+ messages in thread
From: Don Slutz @ 2014-03-28 11:43 UTC (permalink / raw)
  To: Don Slutz; +Cc: Peter Crosthwaite, qemu-devel

Ping.  (Since this is a bug fix, I think it can go into 2.0)
     -Don Slutz

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 <peter.crosthwaite@xilinx.com>
> Signed-off-by: Don Slutz <dslutz@verizon.com>
> ---
> 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;
>               }

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH v3 1/1] char/serial: Fix emptyness handling
  2014-03-28 11:43 ` Don Slutz
@ 2014-03-28 12:10   ` Paolo Bonzini
  2014-04-04 12:13     ` Peter Crosthwaite
  0 siblings, 1 reply; 6+ messages in thread
From: Paolo Bonzini @ 2014-03-28 12:10 UTC (permalink / raw)
  To: Don Slutz; +Cc: Jan Kiszka, Peter Crosthwaite, qemu-devel

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

I think the problem is that not many people understand the 8250 device 
model.  CCing someone who hopefully does...

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 <peter.crosthwaite@xilinx.com>
>> Signed-off-by: Don Slutz <dslutz@verizon.com>
>> ---
>> 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;
>>               }
>
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH v3 1/1] char/serial: Fix emptyness handling
  2014-03-28 12:10   ` Paolo Bonzini
@ 2014-04-04 12:13     ` Peter Crosthwaite
  2014-04-04 23:14       ` [Qemu-devel] [PATCH for-2.0 " Brian Jackson
  2014-04-07 14:16       ` [Qemu-devel] [PATCH " Peter Maydell
  0 siblings, 2 replies; 6+ messages in thread
From: Peter Crosthwaite @ 2014-04-04 12:13 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Jan Kiszka, qemu-devel@nongnu.org Developers, Don Slutz

On Fri, Mar 28, 2014 at 10:10 PM, Paolo Bonzini <pbonzini@redhat.com> 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
>
>
> 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 <peter.crosthwaite@xilinx.com>
>>> Signed-off-by: Don Slutz <dslutz@verizon.com>
>>> ---
>>> 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;
>>>               }
>>
>>
>>
>>
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.0 v3 1/1] char/serial: Fix emptyness handling
  2014-04-04 12:13     ` Peter Crosthwaite
@ 2014-04-04 23:14       ` Brian Jackson
  2014-04-07 14:16       ` [Qemu-devel] [PATCH " Peter Maydell
  1 sibling, 0 replies; 6+ messages in thread
From: Brian Jackson @ 2014-04-04 23:14 UTC (permalink / raw)
  To: Peter Crosthwaite, Paolo Bonzini
  Cc: Jan Kiszka, qemu-devel@nongnu.org Developers, Don Slutz,
	peter.maydell

On 04/04/2014 07:13 AM, Peter Crosthwaite wrote:
> On Fri, Mar 28, 2014 at 10:10 PM, Paolo Bonzini <pbonzini@redhat.com> 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 <peter.crosthwaite@xilinx.com>
>>>> Signed-off-by: Don Slutz <dslutz@verizon.com>
>>>> ---
>>>> 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;
>>>>               }
>>>
>>>
>>>
>>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH v3 1/1] char/serial: Fix emptyness handling
  2014-04-04 12:13     ` Peter Crosthwaite
  2014-04-04 23:14       ` [Qemu-devel] [PATCH for-2.0 " Brian Jackson
@ 2014-04-07 14:16       ` Peter Maydell
  1 sibling, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2014-04-07 14:16 UTC (permalink / raw)
  To: Peter Crosthwaite
  Cc: Paolo Bonzini, qemu-devel@nongnu.org Developers, Don Slutz,
	Jan Kiszka

On 4 April 2014 13:13, Peter Crosthwaite <peter.crosthwaite@xilinx.com> wrote:
> On Fri, Mar 28, 2014 at 10:10 PM, Paolo Bonzini <pbonzini@redhat.com> 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
>>
>>
>> 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.

Applied to master, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-04-07 14:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-18 16:29 [Qemu-devel] [PATCH v3 1/1] char/serial: Fix emptyness handling Don Slutz
2014-03-28 11:43 ` Don Slutz
2014-03-28 12:10   ` Paolo Bonzini
2014-04-04 12:13     ` Peter Crosthwaite
2014-04-04 23:14       ` [Qemu-devel] [PATCH for-2.0 " Brian Jackson
2014-04-07 14:16       ` [Qemu-devel] [PATCH " Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).