From mboxrd@z Thu Jan 1 00:00:00 1970 From: Markus Armbruster Subject: Re: 32-on-64: pvfb issue Date: Wed, 24 Jan 2007 15:24:10 +0100 Message-ID: <87odooo645.fsf@pike.pond.sub.org> References: <45B60548.4060003@suse.de> <45B741B7.1080306@suse.de> <87sle0obnw.fsf@pike.pond.sub.org> <45B75343.1090409@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: In-Reply-To: <45B75343.1090409@suse.de> (Gerd Hoffmann's message of "Wed, 24 Jan 2007 13:38:27 +0100") List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Gerd Hoffmann Cc: Xen devel list , Keir Fraser List-Id: xen-devel@lists.xenproject.org Gerd Hoffmann writes: > Hi, > >>> @@ -560,10 +560,10 @@ int xenfb_attach_dom(struct xenfb *xenfb >>> if (xenfb_wait_for_frontend_initialised(&xenfb->kbd) < 0) >>> goto error; >>> >>> - if (xenfb_bind(&xenfb->fb) < 0) >>> - goto error; >>> if (xenfb_bind(&xenfb->kbd) < 0) >>> goto error; >>> + if (xenfb_bind(&xenfb->fb) < 0) >>> + goto error; >>> >>> if (xenfb_xs_scanf1(xsh, xenfb->fb.otherend, "feature-update", >>> "%d", &val) < 0) >> >> Why is this patch hunk necessary? > > Oh, forgot to mention that, sorry. Only vfb has a "protocol" node, vkbd > hasn't. So binding fb last makes sure we have the protocol filled > correctly in the struct. > > cheers, > Gerd Unclean! You put protocol[] into xenfb_private, which means it's shared between vfb and vkbd. That's defensible. However, you really shouldn't read it in xenfb_bind() then. That reads it both from vfb (where it is valid) and vkbd (where it is currently undefined), and the one read last wins. Reading it next to reading feature-update would be much cleaner. Alternatively, put protocol[] into xenfb_device. If you insist on keeping it the way it is, you really need a comment. But cleaning it up should be less work than explaining it.