Fix a possible hang which apparently occurs during a warm boot (cold boot

does not display the symptom). Evidently the ifpi2 controller needs to be
massaged more than it was.

Note that this does not close the PR since it was filed against 4.9.

MFC: 5 days
PR: kern/68756
Submitted by: Ari Suutari <ari.suutari@syncrontech.com>
This commit is contained in:
Gary Jennejohn 2004-07-18 20:13:31 +00:00
parent 8bbfdc98e4
commit eab6e771a0

View File

@ -148,6 +148,7 @@ struct l1_softc *ifpi2_scp[IFPI2_MAXUNIT];
/*
* AVM PCI Status Latch 0 read only bits
*/
#define ASL_RESET 0x01
#define ASL_TIMERRESET 0x04
#define ASL_ENABLE_INT 0x08
@ -559,6 +560,13 @@ avma1pp2_attach_avma1pp(device_t dev)
printf("avma1pp2_attach: 1 HSCX_STAT %x\n", v);
#endif
bus_space_write_1(btag, bhandle, STAT0_OFFSET, 0);
DELAY(SEC_DELAY/100); /* 10 ms */
bus_space_write_1(btag, bhandle, STAT0_OFFSET, ASL_RESET);
DELAY(SEC_DELAY/100); /* 10 ms */
bus_space_write_1(btag, bhandle, STAT0_OFFSET, 0);
DELAY(SEC_DELAY/100); /* 10 ms */
bus_space_write_1(btag, bhandle, STAT0_OFFSET, ASL_TIMERRESET);
DELAY(SEC_DELAY/100); /* 10 ms */
bus_space_write_1(btag, bhandle, STAT0_OFFSET, ASL_ENABLE_INT);