Yenta and IRQ0

Komuro komurojun at mbn.nifty.com
Wed Aug 11 10:59:48 EDT 2004


>> Seems ok... though I would also add a message, like:
>
>Bah, I knew I missed something!  Updated patch included.
>
>> 
>>   Yenta: no PCI irq, CardBus support will be disabled
>> 

Your yenta_socket patch is wrong.

Here is a correct one.


--- linux/drivers/pcmcia/yenta_socket.c.orig	2004-08-11 23:23:20.000000000 +09
00
+++ linux/drivers/pcmcia/yenta_socket.c	2004-08-11 23:35:23.271244800 +0900
@@ -845,11 +845,8 @@
  */
 static void yenta_get_socket_capabilities(struct yenta_socket *socket, u32 is
a_irq_mask)
 {
-	socket->socket.features |= SS_CAP_PAGE_REGS | SS_CAP_PCCARD | SS_CAP_CARDBUS
;
-	socket->socket.map_size = 0x1000;
 	socket->socket.pci_irq = socket->cb_irq;
 	socket->socket.irq_mask = yenta_probe_irq(socket, isa_irq_mask);
-	socket->socket.cb_dev = socket->dev;
 
 	printk(KERN_INFO "Yenta: ISA IRQ mask 0x%04x, PCI irq %d\n",
 	       socket->socket.irq_mask, socket->cb_irq);
@@ -914,6 +911,9 @@
 	socket->socket.dev.dev = &dev->dev;
 	socket->socket.driver_data = socket;
 	socket->socket.owner = THIS_MODULE;
+	socket->socket.features = SS_CAP_PAGE_REGS | SS_CAP_PCCARD | SS_CAP_CARDBUS;
+	socket->socket.map_size = 0x1000;
+	socket->socket.cb_dev = dev;
 
 	/* prepare struct yenta_socket */
 	socket->dev = dev;
@@ -977,6 +977,9 @@
 	/* We must finish initialization here */
 
 	if (!socket->cb_irq || request_irq(socket->cb_irq, yenta_interrupt, SA_SHIRQ
, "yenta", socket)) {
+		printk(KERN_INFO "Yenta: no PCI IRQ, CardBus support disabled for this sock
et.\n"
+		       KERN_INFO "Yenta: check your BIOS IRQ or ACPI settings.\n");
+		socket->socket.features &= ~SS_CAP_CARDBUS;
 		/* No IRQ or request_irq failed. Poll */
 		socket->cb_irq = 0; /* But zero is a valid IRQ number. */
 		init_timer(&socket->poll_timer);



Best Regards
Komuro




More information about the linux-pcmcia mailing list