|
@@ -148,11 +148,11 @@ static int if_cs_poll_while_fw_download(struct if_cs_card *card, uint addr, u8 r
|
|
|
{
|
|
|
int i;
|
|
|
|
|
|
- for (i = 0; i < 500; i++) {
|
|
|
+ for (i = 0; i < 1000; i++) {
|
|
|
u8 val = if_cs_read8(card, addr);
|
|
|
if (val == reg)
|
|
|
return i;
|
|
|
- udelay(100);
|
|
|
+ udelay(500);
|
|
|
}
|
|
|
return -ETIME;
|
|
|
}
|
|
@@ -878,6 +878,9 @@ static int if_cs_probe(struct pcmcia_device *p_dev)
|
|
|
goto out3;
|
|
|
}
|
|
|
|
|
|
+ /* Clear any interrupt cause that happend while sending
|
|
|
+ * firmware/initializing card */
|
|
|
+ if_cs_write16(card, IF_CS_C_INT_CAUSE, IF_CS_C_IC_MASK);
|
|
|
if_cs_enable_ints(card);
|
|
|
|
|
|
/* And finally bring the card up */
|