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:
parent
8bbfdc98e4
commit
eab6e771a0
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user