From: harry Subject: [Fwd: Re: Re: First post-xenbus-change USB patch] Date: Tue, 15 Nov 2005 17:33:58 +0000 Message-ID: <1132076038.9002.0.camel@localhost.localdomain> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-88w56uynjEsYlp7KgG/j" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org --=-88w56uynjEsYlp7KgG/j Content-Type: text/plain Content-Transfer-Encoding: 7bit Sorry, forgot to copy the list on this. --=-88w56uynjEsYlp7KgG/j Content-Disposition: inline Content-Description: Forwarded message - Re: [Xen-devel] Re: First post-xenbus-change USB patch Content-Type: message/rfc822 Subject: Re: [Xen-devel] Re: First post-xenbus-change USB patch From: harry To: Ewan Mellor In-Reply-To: <20051115153748.GL14433@leeni.uk.xensource.com> References: <1132068201.29871.48.camel@localhost.localdomain> <20051115153748.GL14433@leeni.uk.xensource.com> Content-Type: multipart/mixed; boundary="=-AbEVOX1JsgIiOZcJ5pO4" Message-Id: <1132073318.29871.75.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.2.3 Date: Tue, 15 Nov 2005 16:48:38 +0000 --=-AbEVOX1JsgIiOZcJ5pO4 Content-Type: text/plain Content-Transfer-Encoding: 7bit On Tue, 2005-11-15 at 15:37 +0000, Ewan Mellor wrote: > On Tue, Nov 15, 2005 at 03:23:21PM +0000, harry wrote: > > > I'd like the otherend_changed entrypoint to be optional please. > > No problem. I'm sure you could whizz up a patch for us. Patch attached for making otherend_changed optional. Signed-off-by: Harry Butterworth butterwo@uk.ibm.com > > > I did a quick bit of testing and managed to mount the USB key again etc > > but had a few problems with module unload and reload. I think I maybe > > got hit by the unregister_watch deadlock then > > Yes, we really need to address that one. The code says > > /* Flush any currently-executing callback, unless we are it. :-) */ > > (IIRC, that's the deadlock point that Rusty highlighted) but I don't really > know what this means. Can you shed some light here on what we ought to be > doing? What Rusty said was that the code only worked if you unregistered a watch from the watch callback and that it hadn't been tested and would deadlock if you unregistered a watch from outside a watch callback. So what needs to be done is test to make sure it works under all circumstances and fix if really broken. That's all I know I'm afraid. > > > after I killed the FE domain, the new xenbus code gave an error message when > > I tried to unload and reload the BE. > > Which error message? start xend load BE driver xm create FE load FE driver kill FE domain unload BE driver load BE driver error message: xenbus_probe: talk_to_otherend on backend/usb/1/0 failed. usb: probe of usb-1-0 failed with error -2 > > Cheers, > > Ewan. > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > --=-AbEVOX1JsgIiOZcJ5pO4 Content-Disposition: attachment; filename=otherend-optional-patch Content-Type: text/x-patch; name=otherend-optional-patch; charset=us-ascii Content-Transfer-Encoding: 7bit diff -r 595ef1ab007c -r 2089b7edcada linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c --- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Tue Nov 15 14:44:59 2005 +++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Tue Nov 15 16:43:02 2005 @@ -299,8 +299,8 @@ DPRINTK("state is %d, %s, %s", state, dev->otherend_watch.node, vec[XS_WATCH_PATH]); - - drv->otherend_changed(dev, state); + if (drv->otherend_changed) + drv->otherend_changed(dev, state); } --=-AbEVOX1JsgIiOZcJ5pO4-- --=-88w56uynjEsYlp7KgG/j Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --=-88w56uynjEsYlp7KgG/j--