mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-18 15:09:53 +00:00
pcmcia: only keep saved I365_CSCINT flag if there is no PCI irq
Keeping the saved I365_CSCINT flag around breaks PCMCIA on some system, and is only needed on a few systems to get PCMCIA to work. This patch allows PCMCIA to work on both types, and it fixes https://bugzilla.kernel.org/show_bug.cgi?id=16015 Reported-by: Justin P. Mattock <justinmattock@gmail.com> CC: <stable@kernel.org> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
parent
e44a21b726
commit
02caa56e4b
@ -975,7 +975,7 @@ static irqreturn_t yenta_probe_handler(int irq, void *dev_id)
|
|||||||
/* probes the PCI interrupt, use only on override functions */
|
/* probes the PCI interrupt, use only on override functions */
|
||||||
static int yenta_probe_cb_irq(struct yenta_socket *socket)
|
static int yenta_probe_cb_irq(struct yenta_socket *socket)
|
||||||
{
|
{
|
||||||
u8 reg;
|
u8 reg = 0;
|
||||||
|
|
||||||
if (!socket->cb_irq)
|
if (!socket->cb_irq)
|
||||||
return -1;
|
return -1;
|
||||||
@ -989,7 +989,8 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* generate interrupt, wait */
|
/* generate interrupt, wait */
|
||||||
reg = exca_readb(socket, I365_CSCINT);
|
if (!socket->dev->irq)
|
||||||
|
reg = exca_readb(socket, I365_CSCINT);
|
||||||
exca_writeb(socket, I365_CSCINT, reg | I365_CSC_STSCHG);
|
exca_writeb(socket, I365_CSCINT, reg | I365_CSC_STSCHG);
|
||||||
cb_writel(socket, CB_SOCKET_EVENT, -1);
|
cb_writel(socket, CB_SOCKET_EVENT, -1);
|
||||||
cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
|
cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
|
||||||
|
Loading…
Reference in New Issue
Block a user