
On Fri, 2013-07-19 at 21:53 +0800, Marek Vasut wrote:
Dear Jim Lin,
On Fri, 2013-07-19 at 19:17 +0800, Wolfgang Denk wrote:
Dear Jim Lin,
In message 1374226576-13401-2-git-send-email-jilin@nvidia.com you wrote:
TFTP booting is slow when a USB keyboard is installed and stdin has usbkbd added. This fix is to change Ctrl-C polling for USB keyboard to every second when NET transfer is running.
...
+#ifdef CONFIG_CMD_NET +/* The period of time between two calls of usb_kbd_testc(). */ +static unsigned long kbd_testc_tms; +#endif
/* Generic keyboard event polling. */ void usb_kbd_generic_poll(void)
@@ -366,6 +370,16 @@ static int usb_kbd_testc(void)
struct usb_device *usb_kbd_dev; struct usb_kbd_pdata *data;
+#ifdef CONFIG_CMD_NET
- /*
* If net_busy_flag is 1, NET transfer is running,
* then we check key pressed every second to improve
* TFTP booting performance.
*/
- if (net_busy_flag && (get_timer(kbd_testc_tms) < CONFIG_SYS_HZ))
return 0;
- kbd_testc_tms = get_timer(0);
+#endif
You did not comment on my remark about kbd_testc_tms being used basically with a random start value for each invocation of a network command. The "every second" above is wrong. The actual interval may be much shorter (even nearly zero, at least once), or longer.
Okay, I will check again.
I'll wait for v3. In the meantime, I homestly dont like having such hacks on both sides, but I dont think much can be done about it. Maybe use __maybe_unused for the net_busy_flag to drop the ifdef ?
I don't quite understand what you wanted me to do. Could you give me an example? What to add and what to remove. Thanks.
--nvpublic