Akio Takebe
2006-Jun-11 01:25 UTC
[Xen-devel] [Patch] support small buffer to read_console_ring()
Hi, read_console_ring() hung up when we pass smaller buffer than conringp - configc. Doesn''t read_console_ring() support small buffer than CONRING_SIZE? I make a patch to support small buffer of read_console_ring. Am I right? Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com> diff -r aa2298739112 xen/drivers/char/console.c --- a/xen/drivers/char/console.c Fri Jun 09 10:40:31 2006 -0600 +++ b/xen/drivers/char/console.c Sun Jun 11 10:14:04 2006 +0900 @@ -238,6 +238,8 @@ long read_console_ring(XEN_GUEST_HANDLE( len = CONRING_SIZE - idx; if ( (sofar + len) > max ) len = max - sofar; + if ( len == 0 ) + break; if ( copy_to_guest_offset(str, sofar, &conring[idx], len) ) return -EFAULT; sofar += len; @@ -247,7 +249,7 @@ long read_console_ring(XEN_GUEST_HANDLE( if ( clear ) { spin_lock_irqsave(&console_lock, flags); - conringc = conringp; + conringc += sofar; spin_unlock_irqrestore(&console_lock, flags); } Best Regards, Akio Takebe _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel