Re: sparc: cannot load any modules with 2.6.17-rc3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 9 May 2006, David S. Miller wrote:

From: Martin Habets <errandir_news@xxxxxxxxxxxxxxxxx>
Date: Tue, 9 May 2006 22:27:22 +0100

Sadly, no. I can try to do some of the easier things, but fixing
something like the esp driver without the esp&dma datasheets is
beyond me I'm afraid :).

http://en.wikipedia.org/wiki/NCR_53C9x

The DMA programming manual is really not that necessary to
understand the chip.

I've poked at this issue a little bit, without diving too deep. I've looked at the changes of the esp.c in the git kernel tree. There is one fairly recent change on 2006-02-22 [0], earlier changes are at least a year old. The diff for that commit is the following:

--- a/drivers/scsi/esp.c
+++ b/drivers/scsi/esp.c
@@ -2068,14 +2068,12 @@ static int esp_reset(struct scsi_cmnd *S
 {
 	struct esp *esp = (struct esp *) SCptr->device->host->hostdata;

+	spin_lock_irq(esp->ehost->host_lock);
 	(void) esp_do_resetbus(esp);
-
 	spin_unlock_irq(esp->ehost->host_lock);

 	wait_event(esp->reset_queue, (esp->resetting_bus == 0));

-	spin_lock_irq(esp->ehost->host_lock);
-
 	return SUCCESS;
 }

I have not nearly enough knowledge to tell whether that is correct, but the fact that in the previous version the function is left with the lock held and in the new one - without it, struck me as suspicious. I've tried reverting this change and the 2.6.16 kernel started working much more reliably for me, I haven't seen a DMA error with it yet. Unfortunately, other people who tested it (including Martin) reported that reverting this patch (or including it, if it was not present in the kernel) had little or no effect. Dave, it would be great that if you could confirm that this patch actually does what it's supposed to do, that would be a significant indication that the problem is not in esp.c.

I've recently built 2.6.16 and 2.6.17-rc3 kernels with Debian's gcc 4.0.3-2, and they boot. Modules load fine. There is some kind of issue with the network, loading sunlance on my SS20 does not work every time. I haven't had a chance to investigate it in detail yet. Martin, you can fetch the "most stable for me" 2.6.16 kernel from [1].

[0] http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a6ceda7457b2303dcb07d3c472b25d52bbdb5a29
[1] http://www.wooyd.org/debian/kernels

Best regards,

Jurij Smakov                                        jurij@xxxxxxxxx
Key: http://www.wooyd.org/pgpkey/                   KeyID: C99E03CC
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux