After check more. I think this is also to fix the bug to dm962x chip too. If keep no patch below: > + > + /* Always return 8-bytes data to host per interrupt-interval */ > + dm_write_reg(dev, DM_USB_CTRL, USB_CTRL_EP3ACK); When attach dm962x to linux USB host, The reg 'DM_USB_CTRL' get default value 0x00 This means the USB interrupt routine below, .status = dm9601_status, will be called by events (they are: RX data found, TX complete, link change) Unfortunately, the link change CAN not work to trigger this event call. So I do > + dm_write_reg(dev, DM_USB_CTRL, USB_CTRL_EP3ACK); That .status = dm9601_status, will be called by time interval. * ".status = dm9601_status" is the way to tell the kernel new link state, I can find it is bt 'usbnet_link_change( xx)' in ".status = dm9601_status". Information: -------------------------------------------------------------------------------- -------- In my [PATCH 2/3], +#define DM_EP3I_VAL 0x07 + /* Render eeprom if need, WORD12 render, need 0x0007 */ + dm_eeprom_render(dev, 12, DM_EP3I_VAL, 0xffff); } It can determine the above time interval. If user define +#define DM_EP3I_VAL 0x0f The time interval will be around 1 second. Note: Must reset the device once to get effect. -------------------------------------------------------------------------------- -------- Best Regards, Joseph CHANG System Application Engineering Division Davicom Semiconductor, Inc. No. 6 Li-Hsin 6th Rd., Science-Based Park, Hsin-Chu, Taiwan. Tel: 886-3-5798797 Ex 8534 Fax: 886-3-5646929 Web: http://www.davicom.com.tw -----Original Message----- From: Peter Korsgaard [mailto:jacmet@xxxxxxxxx] On Behalf Of Peter Korsgaard Sent: Friday, March 11, 2016 5:55 AM To: Joseph CHANG Cc: Peter Korsgaard; netdev@xxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Joseph Chang Subject: Re: [PATCH 1/3] dm9601: enable EP3 interrupt >>>>> "Joseph" == Joseph CHANG <josright123@xxxxxxxxx> writes: > Enable chip's EP3 interrupt to get the link-up notify soon > immediately. Sorry, what do you mean about 'soon immediately'? > + > + /* Always return 8-bytes data to host per interrupt-interval */ > + dm_write_reg(dev, DM_USB_CTRL, USB_CTRL_EP3ACK); Why would we want to do that instead of the current setup that afaik only returns data when the link status changes? -- Bye, Peter Korsgaard -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html