Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02caa56e authored by Dominik Brodowski's avatar Dominik Brodowski
Browse files

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: default avatarJustin P. Mattock <justinmattock@gmail.com>
CC: <stable@kernel.org>
Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
parent e44a21b7
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -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,6 +989,7 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket)
	}
	}


	/* generate interrupt, wait */
	/* generate interrupt, wait */
	if (!socket->dev->irq)
		reg = exca_readb(socket, I365_CSCINT);
		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);