Skip site navigation (1)Skip section navigation (2)
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>