Browse Source

USB: isp1362: fix pulldown register defines and conf logic

HCHWCFG_PULLDOWN_DS2 and HCHWCFG_PULLDOWN_DS1 were swapped.  Incorrect
operator precedence in isp1362_hc_start() hid part of the problem.
This fixes a problem where Port 1 in Host mode fails to see disconnects.

Signed-Off-By: Ken MacLeod <ken@bitsko.slc.ut.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Ken MacLeod 16 years ago
parent
commit
7949f4e164
2 changed files with 3 additions and 3 deletions
  1. 1 1
      drivers/usb/host/isp1362-hcd.c
  2. 2 2
      drivers/usb/host/isp1362.h

+ 1 - 1
drivers/usb/host/isp1362-hcd.c

@@ -2563,7 +2563,7 @@ static int isp1362_hc_start(struct usb_hcd *hcd)
 	hwcfg = HCHWCFG_INT_ENABLE | HCHWCFG_DBWIDTH(1);
 	hwcfg = HCHWCFG_INT_ENABLE | HCHWCFG_DBWIDTH(1);
 	if (board->sel15Kres)
 	if (board->sel15Kres)
 		hwcfg |= HCHWCFG_PULLDOWN_DS2 |
 		hwcfg |= HCHWCFG_PULLDOWN_DS2 |
-			(MAX_ROOT_PORTS > 1) ? HCHWCFG_PULLDOWN_DS1 : 0;
+			((MAX_ROOT_PORTS > 1) ? HCHWCFG_PULLDOWN_DS1 : 0);
 	if (board->clknotstop)
 	if (board->clknotstop)
 		hwcfg |= HCHWCFG_CLKNOTSTOP;
 		hwcfg |= HCHWCFG_CLKNOTSTOP;
 	if (board->oc_enable)
 	if (board->oc_enable)

+ 2 - 2
drivers/usb/host/isp1362.h

@@ -161,8 +161,8 @@ ISP1362_REG(HCRHPORT2,	0x16,	REG_WIDTH_32,	REG_ACCESS_RW);
 ISP1362_REG(HCHWCFG,	0x20,	REG_WIDTH_16,	REG_ACCESS_RW);
 ISP1362_REG(HCHWCFG,	0x20,	REG_WIDTH_16,	REG_ACCESS_RW);
 #define HCHWCFG_DISABLE_SUSPEND	(1 << 15)
 #define HCHWCFG_DISABLE_SUSPEND	(1 << 15)
 #define HCHWCFG_GLOBAL_PWRDOWN	(1 << 14)
 #define HCHWCFG_GLOBAL_PWRDOWN	(1 << 14)
-#define HCHWCFG_PULLDOWN_DS1	(1 << 13)
-#define HCHWCFG_PULLDOWN_DS2	(1 << 12)
+#define HCHWCFG_PULLDOWN_DS2	(1 << 13)
+#define HCHWCFG_PULLDOWN_DS1	(1 << 12)
 #define HCHWCFG_CLKNOTSTOP	(1 << 11)
 #define HCHWCFG_CLKNOTSTOP	(1 << 11)
 #define HCHWCFG_ANALOG_OC	(1 << 10)
 #define HCHWCFG_ANALOG_OC	(1 << 10)
 #define HCHWCFG_ONEINT		(1 << 9)
 #define HCHWCFG_ONEINT		(1 << 9)