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>

+3 -2
+3 -2
drivers/pcmcia/yenta_socket.c
··· 975 /* probes the PCI interrupt, use only on override functions */ 976 static int yenta_probe_cb_irq(struct yenta_socket *socket) 977 { 978 - u8 reg; 979 980 if (!socket->cb_irq) 981 return -1; ··· 989 } 990 991 /* generate interrupt, wait */ 992 - reg = exca_readb(socket, I365_CSCINT); 993 exca_writeb(socket, I365_CSCINT, reg | I365_CSC_STSCHG); 994 cb_writel(socket, CB_SOCKET_EVENT, -1); 995 cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
··· 975 /* probes the PCI interrupt, use only on override functions */ 976 static int yenta_probe_cb_irq(struct yenta_socket *socket) 977 { 978 + u8 reg = 0; 979 980 if (!socket->cb_irq) 981 return -1; ··· 989 } 990 991 /* generate interrupt, wait */ 992 + if (!socket->dev->irq) 993 + reg = exca_readb(socket, I365_CSCINT); 994 exca_writeb(socket, I365_CSCINT, reg | I365_CSC_STSCHG); 995 cb_writel(socket, CB_SOCKET_EVENT, -1); 996 cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);