Date: Thu, 17 Aug 2006 17:32:35 +0500 (AZST) From: "Tofig Suleymanov" <tofik@oxygen.az> To: "Baldur Gislason" <baldur@foo.is> Cc: usb@freebsd.org, Tofig Suleymanov <tofik@oxygen.az> Subject: Re: USB_ATTACH_SETUP macros question Message-ID: <35146.85.132.32.38.1155817977.squirrel@85.132.32.38> In-Reply-To: <20060817121307.GA804@gremlin.foo.is> References: <35069.85.132.32.38.1155816624.squirrel@85.132.32.38> <20060817121307.GA804@gremlin.foo.is>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Thu, Aug 17, 2006 at 05:10:02PM +0500, Tofig Suleymanov wrote: >> Hello hackers, >> >> is there anybody to explain why do we have infinite loop inside of >> USB_ATTACH_SETUP macros inside of usb_port.h ? How does his loop gets >> escaped when we use it in some usb driver ? >> >> #define USB_ATTACH_SETUP \ >> do { \ >> sc->sc_dev = self; \ >> device_set_desc_copy(self, devinfo); \ >> device_printf(self, "%s\n", devinfo); \ >> } while (0); >> >> Thank you ! >> >> Tofig Suleymanov >> > This isn't an infinite loop, in fact it will never be executed. > > Baldur > Made a little test which shows that this code is going to be executed only once.How did i miss that :) Now the other question comes next: Why don not we use just: #define USB_ATTACH_SETUP \ sc->sc_dev = self; \ device_set_desc_copy(self, devinfo); \ device_printf(self, "%s\n", devinfo); ? Thank you, Tofig Suleymanov
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35146.85.132.32.38.1155817977.squirrel>