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

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

 



	Hello,

Jurij Smakov a écrit :
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.

I have built a regular 2.6.16.10 and I have verified that this patch was applied. Kernel was built with debian gcc-4.0.3.

Configuration :
- dual SuperSPARC-II/75 (ony one is used) ;
- 448 MB
- 4 MB VSIMM
- two 36 GB SCA/SCSI disks (Raid1)
- internal CDROM
- floppy

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.

	I have tested without any success.

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'm not sure that the trouble come from esp.c but from the DMA subsystem. I have played with another SS20 and a lot of configurations :
- HyperSPARC + 512 MB -> DMA error within boot process, unusable;
- HyperSPARC + 192 MB (no HIGHMEM) -> DMA error (quickly), unusable;
- HyperSPARC + 128 MB (banks 0 and 1, no HIGHMEM) -> usable, frequency of DMA error is the same than with SuperSPARC-II.

I think that the bug is between the cache and the DMA subsystem. I don't understand why I obtain the same DMA error on my U1 (EPSFAS) and not on my U1E (EPSHME). If I have time, I shall test with a SS5 (MicroSPARC-II) to see if the trouble come from cache or from DMA.

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 have never seen this trouble. Do you know if the SMP-support is improved ? The last patch I have tested come from Bob Breuer and is against 1.6.17-rc1...

	Regards,

	JKB

-
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