All of lore.kernel.org
 help / color / mirror / Atom feed
From: Carl-Daniel Hailfinger <c-d.hailfinger.kernel.2003@gmx.net>
To: Felipe Alfaro Solana <felipe_alfaro@linuxmail.org>
Cc: Andrew Morton <akpm@digeo.com>,
	rmk@arm.linux.org.uk, LKML <linux-kernel@vger.kernel.org>,
	davej@suse.de
Subject: Re: 2.5.69-mm6: pccard oops while booting
Date: Sat, 17 May 2003 00:08:51 +0200	[thread overview]
Message-ID: <3EC56173.1000306@gmx.net> (raw)
In-Reply-To: <1053121346.569.1.camel@teapot.felipe-alfaro.com>

Felipe Alfaro Solana wrote:
> On Fri, 2003-05-16 at 22:29, Andrew Morton wrote:
> 
>>Felipe Alfaro Solana <felipe_alfaro@linuxmail.org> wrote:
>>
>>>Unable to handle kernel paging request at virtual address 50464d59
>>
>>hm, that address is "YMFP".   Please try generating the oops
>>again with the below patch applied:
>>
>> ./sound/pci/ymfpci/ymfpci.c      |    8 ++++----
>> ./sound/pci/ymfpci/ymfpci_main.c |   22 +++++++++++-----------
>> 2 files changed, 15 insertions(+), 15 deletions(-)
>>
>>diff -puN ./sound/pci/ymfpci/ymfpci_main.c~a ./sound/pci/ymfpci/ymfpci_main.c
>>--- 25/./sound/pci/ymfpci/ymfpci_main.c~a	2003-05-16 13:26:26.000000000 -0700
>>+++ 25-akpm/./sound/pci/ymfpci/ymfpci_main.c	2003-05-16 13:27:27.000000000 -0700
>>@@ -1093,7 +1093,7 @@ int __devinit snd_ymfpci_pcm(ymfpci_t *c
>> 
>> 	if (rpcm)
>> 		*rpcm = NULL;
>>-	if ((err = snd_pcm_new(chip->card, "YMFPCI", device, 32, 1, &pcm)) < 0)
>>+	if ((err = snd_pcm_new(chip->card, "1YMFPCI", device, 32, 1, &pcm)) < 0)
>> 		return err;
>> 	pcm->private_data = chip;
>> 	pcm->private_free = snd_ymfpci_pcm_free;
>>@@ -1103,7 +1103,7 @@ int __devinit snd_ymfpci_pcm(ymfpci_t *c
>> 
>> 	/* global setup */
>> 	pcm->info_flags = 0;
>>-	strcpy(pcm->name, "YMFPCI");
>>+	strcpy(pcm->name, "2YMFPCI");
>> 	chip->pcm = pcm;
>> 
>> 	snd_pcm_lib_preallocate_pci_pages_for_all(chip->pci, pcm, 64*1024, 256*1024);
>>@@ -1138,7 +1138,7 @@ int __devinit snd_ymfpci_pcm2(ymfpci_t *
>> 
>> 	if (rpcm)
>> 		*rpcm = NULL;
>>-	if ((err = snd_pcm_new(chip->card, "YMFPCI - AC'97", device, 0, 1, &pcm)) < 0)
>>+	if ((err = snd_pcm_new(chip->card, "3YMFPCI - AC'97", device, 0, 1, &pcm)) < 0)
>> 		return err;
>> 	pcm->private_data = chip;
>> 	pcm->private_free = snd_ymfpci_pcm2_free;
>>@@ -1147,7 +1147,7 @@ int __devinit snd_ymfpci_pcm2(ymfpci_t *
>> 
>> 	/* global setup */
>> 	pcm->info_flags = 0;
>>-	strcpy(pcm->name, "YMFPCI - AC'97");
>>+	strcpy(pcm->name, "4YMFPCI - AC'97");
>> 	chip->pcm2 = pcm;
>> 
>> 	snd_pcm_lib_preallocate_pci_pages_for_all(chip->pci, pcm, 64*1024, 256*1024);
>>@@ -1182,7 +1182,7 @@ int __devinit snd_ymfpci_pcm_spdif(ymfpc
>> 
>> 	if (rpcm)
>> 		*rpcm = NULL;
>>-	if ((err = snd_pcm_new(chip->card, "YMFPCI - IEC958", device, 1, 0, &pcm)) < 0)
>>+	if ((err = snd_pcm_new(chip->card, "5YMFPCI - IEC958", device, 1, 0, &pcm)) < 0)
>> 		return err;
>> 	pcm->private_data = chip;
>> 	pcm->private_free = snd_ymfpci_pcm_spdif_free;
>>@@ -1191,7 +1191,7 @@ int __devinit snd_ymfpci_pcm_spdif(ymfpc
>> 
>> 	/* global setup */
>> 	pcm->info_flags = 0;
>>-	strcpy(pcm->name, "YMFPCI - IEC958");
>>+	strcpy(pcm->name, "6YMFPCI - IEC958");
>> 	chip->pcm_spdif = pcm;
>> 
>> 	snd_pcm_lib_preallocate_pci_pages_for_all(chip->pci, pcm, 64*1024, 256*1024);
>>@@ -1226,7 +1226,7 @@ int __devinit snd_ymfpci_pcm_4ch(ymfpci_
>> 
>> 	if (rpcm)
>> 		*rpcm = NULL;
>>-	if ((err = snd_pcm_new(chip->card, "YMFPCI - Rear", device, 1, 0, &pcm)) < 0)
>>+	if ((err = snd_pcm_new(chip->card, "7YMFPCI - Rear", device, 1, 0, &pcm)) < 0)
>> 		return err;
>> 	pcm->private_data = chip;
>> 	pcm->private_free = snd_ymfpci_pcm_4ch_free;
>>@@ -1235,7 +1235,7 @@ int __devinit snd_ymfpci_pcm_4ch(ymfpci_
>> 
>> 	/* global setup */
>> 	pcm->info_flags = 0;
>>-	strcpy(pcm->name, "YMFPCI - Rear PCM");
>>+	strcpy(pcm->name, "8YMFPCI - Rear PCM");
>> 	chip->pcm_4ch = pcm;
>> 
>> 	snd_pcm_lib_preallocate_pci_pages_for_all(chip->pci, pcm, 64*1024, 256*1024);
>>@@ -1831,7 +1831,7 @@ static void snd_ymfpci_proc_read(snd_inf
>> {
>> 	// ymfpci_t *chip = snd_magic_cast(ymfpci_t, private_data, return);
>> 	
>>-	snd_iprintf(buffer, "YMFPCI\n\n");
>>+	snd_iprintf(buffer, "9YMFPCI\n\n");
>> }
>> 
>> static int __devinit snd_ymfpci_proc_init(snd_card_t * card, ymfpci_t *chip)
>>@@ -2226,12 +2226,12 @@ int __devinit snd_ymfpci_create(snd_card
>> 	chip->reg_area_virt = (unsigned long)ioremap_nocache(chip->reg_area_phys, 0x8000);
>> 	pci_set_master(pci);
>> 
>>-	if ((chip->res_reg_area = request_mem_region(chip->reg_area_phys, 0x8000, "YMFPCI")) == NULL) {
>>+	if ((chip->res_reg_area = request_mem_region(chip->reg_area_phys, 0x8000, "AYMFPCI")) == NULL) {
>> 		snd_ymfpci_free(chip);
>> 		snd_printk("unable to grab memory region 0x%lx-0x%lx\n", chip->reg_area_phys, chip->reg_area_phys + 0x8000 - 1);
>> 		return -EBUSY;
>> 	}
>>-	if (request_irq(pci->irq, snd_ymfpci_interrupt, SA_INTERRUPT|SA_SHIRQ, "YMFPCI", (void *) chip)) {
>>+	if (request_irq(pci->irq, snd_ymfpci_interrupt, SA_INTERRUPT|SA_SHIRQ, "BYMFPCI", (void *) chip)) {
>> 		snd_ymfpci_free(chip);
>> 		snd_printk("unable to grab IRQ %d\n", pci->irq);
>> 		return -EBUSY;
>>diff -puN ./sound/pci/ymfpci/ymfpci.c~a ./sound/pci/ymfpci/ymfpci.c
>>--- 25/./sound/pci/ymfpci/ymfpci.c~a	2003-05-16 13:26:26.000000000 -0700
>>+++ 25-akpm/./sound/pci/ymfpci/ymfpci.c	2003-05-16 13:27:49.000000000 -0700
>>@@ -122,7 +122,7 @@ static int __devinit snd_card_ymfpci_pro
>> 			fm_port[dev] = addr;
>> 		}
>> 		if (fm_port[dev] >= 0 &&
>>-		    (chip->fm_res = request_region(fm_port[dev], 4, "YMFPCI OPL3")) != NULL) {
>>+		    (chip->fm_res = request_region(fm_port[dev], 4, "CYMFPCI OPL3")) != NULL) {
>> 			legacy_ctrl |= YMFPCI_LEGACY_FMEN;
>> 			pci_write_config_word(pci, PCIR_DSXG_FMBASE, fm_port[dev]);
>> 		}
>>@@ -133,7 +133,7 @@ static int __devinit snd_card_ymfpci_pro
>> 			mpu_port[dev] = addr;
>> 		}
>> 		if (mpu_port[dev] >= 0 &&
>>-		    (chip->mpu_res = request_region(mpu_port[dev], 2, "YMFPCI MPU401")) != NULL) {
>>+		    (chip->mpu_res = request_region(mpu_port[dev], 2, "DYMFPCI MPU401")) != NULL) {
>> 			legacy_ctrl |= YMFPCI_LEGACY_MEN;
>> 			pci_write_config_word(pci, PCIR_DSXG_MPU401BASE, mpu_port[dev]);
>> 		}
>>@@ -146,7 +146,7 @@ static int __devinit snd_card_ymfpci_pro
>> 		default: fm_port[dev] = -1; break;
>> 		}
>> 		if (fm_port[dev] > 0 &&
>>-		    (chip->fm_res = request_region(fm_port[dev], 4, "YMFPCI OPL3")) != NULL) {
>>+		    (chip->fm_res = request_region(fm_port[dev], 4, "EYMFPCI OPL3")) != NULL) {
>> 			legacy_ctrl |= YMFPCI_LEGACY_FMEN;
>> 		} else {
>> 			legacy_ctrl2 &= ~YMFPCI_LEGACY2_FMIO;
>>@@ -160,7 +160,7 @@ static int __devinit snd_card_ymfpci_pro
>> 		default: mpu_port[dev] = -1; break;
>> 		}
>> 		if (mpu_port[dev] > 0 &&
>>-		    (chip->mpu_res = request_region(mpu_port[dev], 2, "YMFPCI MPU401")) != NULL) {
>>+		    (chip->mpu_res = request_region(mpu_port[dev], 2, "FYMFPCI MPU401")) != NULL) {
>> 			legacy_ctrl |= YMFPCI_LEGACY_MEN;
>> 		} else {
>> 			legacy_ctrl2 &= ~YMFPCI_LEGACY2_MPUIO;
>>
> 
> 
> I've applied the patch above to a pristine 2.5.69-mm6. Curiously, if I
> build snd-ymfpci as a module, I can't reproduce the oops anymore.
> However, if I build snd-ymfpci into the kernel, I can *still* reproduce
> the oops.
> 
> Attached is the dmesg of a 2.5.69-mm6 plus the above patch with ymfpci
> integrated into the kernel.
> 
> Thanks!
> 
> Unable to handle kernel paging request at virtual address 25007367

Unfortunately, now the address is gs\0%
This does not help that much. Could you please backout above patch, hand
edit it so that each YMFPCI -> 1YMFPCI, YMFPCI -> 2YMFPCI etc. change
looks instead like
YMFPCI -> 1MFPCI, YMFPCI -> 2MFPCI so that the string length and the
first 3 bytes of the address stay constant and apply it again? That may
give us better results.

Thanks,
Carl-Daniel
-- 
http://www.hailfinger.org/


  reply	other threads:[~2003-05-16 21:56 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-15  2:03 2.5.69-mm5: pccard oops while booting: resolved Felipe Alfaro Solana
2003-05-15  2:17 ` Andrew Morton
2003-05-15 11:36   ` Felipe Alfaro Solana
2003-05-15 12:00     ` Russell King
2003-05-15 13:16       ` Felipe Alfaro Solana
2003-05-15 13:44         ` Russell King
2003-05-15 13:47           ` Dave Jones
2003-05-15 22:31           ` Felipe Alfaro Solana
2003-05-15 23:00             ` Andrew Morton
2003-05-16 13:03               ` Felipe Alfaro Solana
2003-05-16 18:13                 ` Ben Collins
2003-05-16 19:03                   ` Felipe Alfaro Solana
2003-05-16 18:34                 ` 2.5.69-mm6: pccard oops while booting Felipe Alfaro Solana
2003-05-16 20:29                   ` Andrew Morton
2003-05-16 21:42                     ` Felipe Alfaro Solana
2003-05-16 22:08                       ` Carl-Daniel Hailfinger [this message]
2003-05-16 23:40                         ` Felipe Alfaro Solana
2003-05-16 23:55                           ` Russell King
2003-05-17  0:03                             ` Felipe Alfaro Solana
2003-05-17  0:27                             ` Carl-Daniel Hailfinger
2003-05-17 10:11                         ` 2.5.69-mm6: pccard oops while booting: round 2 Felipe Alfaro Solana
2003-05-17 10:18                           ` Andrew Morton
2003-05-17 11:05                             ` Felipe Alfaro Solana
2003-05-17 11:22                               ` Carl-Daniel Hailfinger
2003-05-17 12:51                                 ` 2.5.69-mm6: pccard oops while booting: round 3 Felipe Alfaro Solana
2003-05-18 19:38                                   ` 2.5.69-mm6: pccard oops while booting: gcc bug? Felipe Alfaro Solana
2003-05-22 13:24                                     ` [RFC] Disallow compilation with gcc 3.2.3 (was: Re: 2.5.69-mm6: pccard oops while booting:) Carl-Daniel Hailfinger
2003-05-22 14:05                                       ` Valdis.Kletnieks
2003-05-22 18:34                                       ` Felipe Alfaro Solana
2003-05-22 19:24                                       ` Andrew Morton
2003-05-22 14:26                                     ` 2.5.69-mm6: pccard oops while booting: gcc bug? Russell King
2003-05-17 11:39                               ` 2.5.69-mm6: pccard oops while booting: round 2 Andrew Morton
2003-05-17 12:36                                 ` Felipe Alfaro Solana
2003-05-15 12:13     ` 2.5.69-mm5: pccard oops while booting: resolved Russell King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3EC56173.1000306@gmx.net \
    --to=c-d.hailfinger.kernel.2003@gmx.net \
    --cc=akpm@digeo.com \
    --cc=davej@suse.de \
    --cc=felipe_alfaro@linuxmail.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rmk@arm.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.