2001-02-09 03:33:14

by Andres Salomon

[permalink] [raw]
Subject: [PATCH] maestro3 still oopses?

The maestro3 driver, included in 2.4.2-pre2 (which I assume is the
same as maestro3-2.4-20010204.tar.gz, I haven't bothered to try it;
I'm perfectly happy w/ my patch), oopses upon shutdown.

I'm submitting my patch again, both to the maestro3 maintainer,
and to lk this time; please see fit to assimilate it into the official
driver release.

It's diff'd against an older maestro3 release (jan 30); it appears
as though the only changes in the new maestro3 release (feb 04) is
to fix this shutdown oops.

Both the patch (maestro3.c.diff) and Zach's original release
(maestro3-2.4-20010130.tar.gz) can be found at:

http://incandescent.mp3revolution.net/kernel/maestro3/.

There is a slight change between my originally submitted patch
and the patch attached was to increment the DRIVER_VERSION, which
I forgot to do initially.


--
"... being a Linux user is sort of like living in a house inhabited
by a large family of carpenters and architects. Every morning when
you wake up, the house is a little different. Maybe there is a new
turret, or some walls have moved. Or perhaps someone has temporarily
removed the floor under your bed." - Unix for Dummies, 2nd Edition
-- found in the .sig of Rob Riggs, [email protected]


Attachments:
(No filename) (1.20 kB)
maestro3.c.diff (3.46 kB)
Download all attachments

2001-02-09 16:52:10

by Zach Brown

[permalink] [raw]
Subject: Re: [PATCH] maestro3 still oopses?

> The maestro3 driver, included in 2.4.2-pre2 (which I assume is the
> same as maestro3-2.4-20010204.tar.gz, I haven't bothered to try it;
> I'm perfectly happy w/ my patch), oopses upon shutdown.

the maestro3 snapshot in 2.4.2pre2 is not up to date. I imagine it came
from alan, who got the jan30 patch, but didn't get the trivial feb 04
patch that fixes the oops you're seeing.

the proper patch to 2.4.2-pre2 (and 2.4ac-current, presumably)
is attached. Does it fix you problem? [it tries to do so without
duplicating code, you'll notice.]

> + * use pci_module_init() instead of pci_register_driver().

I'd rather do this in a seperate patch that does lots of other cleanups
that are pending.

- z

--- maestro3.c Mon Feb 5 06:51:58 2001
+++ maestro3.c Mon Feb 5 07:40:53 2001
@@ -28,6 +28,8 @@
* Shouts go out to Mike "DJ XPCom" Ang.
*
* History
+ * v1.21 - Feb 04 2001 - Zach Brown <[email protected]>
+ * fix up really dumb notifier -> suspend oops
* v1.20 - Jan 30 2001 - Zach Brown <[email protected]>
* get rid of pm callback and use pci_dev suspend/resume instead
* m3_probe cleanups, including pm oops think-o
@@ -147,7 +149,7 @@

#define M_DEBUG 1

-#define DRIVER_VERSION "1.20"
+#define DRIVER_VERSION "1.21"
#define M3_MODULE_NAME "maestro3"
#define PFX M3_MODULE_NAME ": "

@@ -2763,7 +2765,6 @@
static void m3_suspend(struct pci_dev *pci_dev)
{
unsigned long flags;
- int index;
int i;
struct m3_card *card = pci_dev->driver_data;

@@ -2788,15 +2789,18 @@

m3_assp_halt(card);

- index = 0;
- DPRINTK(DPMOD, "saving code\n");
- for(i = REV_B_CODE_MEMORY_BEGIN ; i <= REV_B_CODE_MEMORY_END; i++)
- card->suspend_mem[index++] =
- m3_assp_read(card, MEMTYPE_INTERNAL_CODE, i);
- DPRINTK(DPMOD, "saving data\n");
- for(i = REV_B_DATA_MEMORY_BEGIN ; i <= REV_B_DATA_MEMORY_END; i++)
- card->suspend_mem[index++] =
- m3_assp_read(card, MEMTYPE_INTERNAL_DATA, i);
+ if(card->suspend_mem) {
+ int index = 0;
+
+ DPRINTK(DPMOD, "saving code\n");
+ for(i = REV_B_CODE_MEMORY_BEGIN ; i <= REV_B_CODE_MEMORY_END; i++)
+ card->suspend_mem[index++] =
+ m3_assp_read(card, MEMTYPE_INTERNAL_CODE, i);
+ DPRINTK(DPMOD, "saving data\n");
+ for(i = REV_B_DATA_MEMORY_BEGIN ; i <= REV_B_DATA_MEMORY_END; i++)
+ card->suspend_mem[index++] =
+ m3_assp_read(card, MEMTYPE_INTERNAL_DATA, i);
+ }

DPRINTK(DPMOD, "powering down apci regs\n");
m3_outw(card, 0xffff, 0x54);

2001-02-09 17:41:27

by Alan Cox

[permalink] [raw]
Subject: Re: [PATCH] maestro3 still oopses?

> the maestro3 snapshot in 2.4.2pre2 is not up to date. I imagine it came
> from alan, who got the jan30 patch, but didn't get the trivial feb 04
> patch that fixes the oops you're seeing.

-ac is up to date, its down to rate of feeding stuff to Linus issues

2001-02-09 22:13:44

by Andres Salomon

[permalink] [raw]
Subject: Re: [PATCH] maestro3 still oopses?

I'm running it now, looks good. :)

On Fri, Feb 09, 2001 at 11:51:48AM -0500, Zach Brown wrote:
>
> > The maestro3 driver, included in 2.4.2-pre2 (which I assume is the
> > same as maestro3-2.4-20010204.tar.gz, I haven't bothered to try it;
> > I'm perfectly happy w/ my patch), oopses upon shutdown.
>
> the maestro3 snapshot in 2.4.2pre2 is not up to date. I imagine it came
> from alan, who got the jan30 patch, but didn't get the trivial feb 04
> patch that fixes the oops you're seeing.
>
> the proper patch to 2.4.2-pre2 (and 2.4ac-current, presumably)
> is attached. Does it fix you problem? [it tries to do so without
> duplicating code, you'll notice.]
>
> - z
>

--
"... being a Linux user is sort of like living in a house inhabited
by a large family of carpenters and architects. Every morning when
you wake up, the house is a little different. Maybe there is a new
turret, or some walls have moved. Or perhaps someone has temporarily
removed the floor under your bed." - Unix for Dummies, 2nd Edition
-- found in the .sig of Rob Riggs, [email protected]