With older gcc:

In file included from drivers/usb/class/cdc-acm.c:63:
include/linux/usb_cdc.h:117: field `bDetailData' has incomplete type
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/include/linux/usb_cdc.h |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN include/linux/usb_cdc.h~usb_cdc-build-fix include/linux/usb_cdc.h
--- 25/include/linux/usb_cdc.h~usb_cdc-build-fix	2005-03-24 03:35:15.000000000 -0800
+++ 25-akpm/include/linux/usb_cdc.h	2005-03-24 03:35:15.000000000 -0800
@@ -114,7 +114,7 @@ struct usb_cdc_mdlm_detail_desc {
 
 	/* type is associated with mdlm_desc.bGUID */
 	__u8	bGuidDescriptorType;
-	__u8	bDetailData[];
+	__u8	bDetailData[0];
 } __attribute__ ((packed));
 
 /*-------------------------------------------------------------------------*/
_