IB/qib: Prevent driver hang with unprogrammed boards
The time limit test now correctly checks against current jiffies to avoid the hang. Signed-off-by: Mitko Haralanov <mitko@qlogic.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
Родитель
693d92a1bb
Коммит
9f5754e34b
|
@ -7534,7 +7534,8 @@ static int serdes_7322_init_new(struct qib_pportdata *ppd)
|
||||||
ibsd_wr_allchans(ppd, 4, (1 << 10), BMASK(10, 10));
|
ibsd_wr_allchans(ppd, 4, (1 << 10), BMASK(10, 10));
|
||||||
tstart = get_jiffies_64();
|
tstart = get_jiffies_64();
|
||||||
while (chan_done &&
|
while (chan_done &&
|
||||||
!time_after64(tstart, tstart + msecs_to_jiffies(500))) {
|
!time_after64(get_jiffies_64(),
|
||||||
|
tstart + msecs_to_jiffies(500))) {
|
||||||
msleep(20);
|
msleep(20);
|
||||||
for (chan = 0; chan < SERDES_CHANS; ++chan) {
|
for (chan = 0; chan < SERDES_CHANS; ++chan) {
|
||||||
rxcaldone = ahb_mod(ppd->dd, IBSD(ppd->hw_pidx),
|
rxcaldone = ahb_mod(ppd->dd, IBSD(ppd->hw_pidx),
|
||||||
|
|
Загрузка…
Ссылка в новой задаче