Subject: Fwd: [Bug 4774] e1000 driver works on UP, but not SMP x86_64

From: Alexey Dobriyan <[email-masked]>
Date: Sat, 25 Jun 2005 01:57:13 +0400

David, please try this debugging patch.

You can also register at http://bugme.osdl.org/createaccount.cgi and add
yourself to CC list.

----------  Forwarded Message  ----------

Subject: [Bug 4774] e1000 driver works on UP, but not SMP x86_64
Date: Saturday 25 June 2005 01:27
From: [email-masked]
To: [email-masked]

http://bugzilla.kernel.org/show_bug.cgi?id=4774

------- Additional Comments From [email-masked]  2005-06-24 14:27 -------
Created an attachment (id=5211)
 --> (http://bugzilla.kernel.org/attachment.cgi?id=5211&action=view)
Debugging patch

That e1000 error message indicates an EINVAL error code, which is from this
code:

	if ((irqflags & SA_SHIRQ) && !dev_id)
		return -EINVAL;
	if (irq >= NR_IRQS)
		return -EINVAL;
	if (!handler)
		return -EINVAL;

I don't think it's the last one, because e1000_intr (which is sent in to
request_irq() from e1000) is prototyped/defined. I spun up a patch to spit out
some debugging here which simply inserts some printks (if the only driver which
gets this warning is e1000, then it shouldn't flood your logs) -- basically
narrowing down which error condition is causing the failure. I'm guessing it's
probably the first case, but let's be sure.