2002-10-30 14:07:21

by Stelian Pop

[permalink] [raw]
Subject: [PATCH 2.5.bk] allow sbp2 driver to compile again

Hi,

The attached patch is required to make the sbp2 compile again.

Note however that, until 2.5.45 is released, one should tweak
the Makefile to manually change the version in order to get
the KERNEL_VERSION tests work...

Stelian.

===== drivers/ieee1394/sbp2.h 1.10 vs edited =====
--- 1.10/drivers/ieee1394/sbp2.h Sat Oct 12 23:40:06 2002
+++ edited/drivers/ieee1394/sbp2.h Wed Oct 30 12:32:39 2002
@@ -549,10 +549,11 @@
static int sbp2scsi_detect (Scsi_Host_Template *tpnt);
static const char *sbp2scsi_info (struct Scsi_Host *host);
void sbp2scsi_setup(char *str, int *ints);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,28)
-static int sbp2scsi_biosparam (Scsi_Disk *disk, kdev_t dev, int geom[]);
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,44)
+static int sbp2scsi_biosparam (struct scsi_device *sdev,
+ struct block_device *dev, sector_t capacity, int geom[]);
#else
-static int sbp2scsi_biosparam (Scsi_Disk *disk, struct block_device *dev, int geom[]);
+static int sbp2scsi_biosparam (Scsi_Disk *disk, kdev_t dev, int geom[]);
#endif
static int sbp2scsi_abort (Scsi_Cmnd *SCpnt);
static int sbp2scsi_reset (Scsi_Cmnd *SCpnt);
===== drivers/ieee1394/sbp2.c 1.16 vs edited =====
--- 1.16/drivers/ieee1394/sbp2.c Tue Oct 29 01:27:33 2002
+++ edited/drivers/ieee1394/sbp2.c Wed Oct 30 12:32:58 2002
@@ -3139,12 +3139,12 @@
*/
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,44)
static int sbp2scsi_biosparam (struct scsi_device *sdev,
- struct block_device *dev, sector_t capacy, int geom[])
+ struct block_device *dev, sector_t capacity, int geom[])
{
#else
static int sbp2scsi_biosparam (Scsi_Disk *disk, kdev_t dev, int geom[])
{
- sector_t capacy = disk->capacity;
+ sector_t capacity = disk->capacity;
#endif
int heads, sectors, cylinders;

--
Stelian Pop <[email protected]>
Alcove - http://www.alcove.com


2002-10-30 14:20:26

by Ben Collins

[permalink] [raw]
Subject: Re: [PATCH 2.5.bk] allow sbp2 driver to compile again

On Wed, Oct 30, 2002 at 03:13:38PM +0100, Stelian Pop wrote:
> Hi,
>
> The attached patch is required to make the sbp2 compile again.
>
> Note however that, until 2.5.45 is released, one should tweak
> the Makefile to manually change the version in order to get
> the KERNEL_VERSION tests work...

You're going to need to diff this against our SVN tree, or wait till I
resync with 2.5.45. Seems it depends on patches in BK against our stock
source.

--
Debian - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
Deqo - http://www.deqo.com/

2002-10-30 14:26:03

by Stelian Pop

[permalink] [raw]
Subject: Re: [PATCH 2.5.bk] allow sbp2 driver to compile again

On Wed, Oct 30, 2002 at 09:26:12AM -0500, Ben Collins wrote:

> On Wed, Oct 30, 2002 at 03:13:38PM +0100, Stelian Pop wrote:
> > Hi,
> >
> > The attached patch is required to make the sbp2 compile again.
> >
> > Note however that, until 2.5.45 is released, one should tweak
> > the Makefile to manually change the version in order to get
> > the KERNEL_VERSION tests work...
>
> You're going to need to diff this against our SVN tree, or wait till I
> resync with 2.5.45. Seems it depends on patches in BK against our stock
> source.

Sure, no problem, it's a two-liner...

While we are at it, there are a lot of 'bad: scheduling while atomic!'
and 'sleeping function called from illegal context' when loading
the ohci1394/sbp2 drivers (detailed stack available when compiling
with CONFIG_DEBUG_KERNEL)...

Stelian.
--
Stelian Pop <[email protected]>
Alcove - http://www.alcove.com

2002-10-30 14:30:57

by Ben Collins

[permalink] [raw]
Subject: Re: [PATCH 2.5.bk] allow sbp2 driver to compile again

On Wed, Oct 30, 2002 at 03:32:18PM +0100, Stelian Pop wrote:
> On Wed, Oct 30, 2002 at 09:26:12AM -0500, Ben Collins wrote:
>
> > On Wed, Oct 30, 2002 at 03:13:38PM +0100, Stelian Pop wrote:
> > > Hi,
> > >
> > > The attached patch is required to make the sbp2 compile again.
> > >
> > > Note however that, until 2.5.45 is released, one should tweak
> > > the Makefile to manually change the version in order to get
> > > the KERNEL_VERSION tests work...
> >
> > You're going to need to diff this against our SVN tree, or wait till I
> > resync with 2.5.45. Seems it depends on patches in BK against our stock
> > source.
>
> Sure, no problem, it's a two-liner...
>
> While we are at it, there are a lot of 'bad: scheduling while atomic!'
> and 'sleeping function called from illegal context' when loading
> the ohci1394/sbp2 drivers (detailed stack available when compiling
> with CONFIG_DEBUG_KERNEL)...

Yeah, I've noticed aswell. Problem is I don't have a machine that runs
2.5.x stable enough to do some testing.

--
Debian - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
Deqo - http://www.deqo.com/

2002-10-30 14:33:48

by Stelian Pop

[permalink] [raw]
Subject: Re: [PATCH 2.5.bk] allow sbp2 driver to compile again

On Wed, Oct 30, 2002 at 09:37:20AM -0500, Ben Collins wrote:

> > While we are at it, there are a lot of 'bad: scheduling while atomic!'
> > and 'sleeping function called from illegal context' when loading
> > the ohci1394/sbp2 drivers (detailed stack available when compiling
> > with CONFIG_DEBUG_KERNEL)...
>
> Yeah, I've noticed aswell. Problem is I don't have a machine that runs
> 2.5.x stable enough to do some testing.

Well, it should just be stable enough to survive a modprobe ohci1394...

Stelian.
--
Stelian Pop <[email protected]>
Alcove - http://www.alcove.com

2002-10-30 14:58:53

by Stelian Pop

[permalink] [raw]
Subject: Re: [PATCH 2.5.bk] allow sbp2 driver to compile again

On Wed, Oct 30, 2002 at 09:37:20AM -0500, Ben Collins wrote:

> > While we are at it, there are a lot of 'bad: scheduling while atomic!'
> > and 'sleeping function called from illegal context' when loading
> > the ohci1394/sbp2 drivers (detailed stack available when compiling
> > with CONFIG_DEBUG_KERNEL)...
>
> Yeah, I've noticed aswell. Problem is I don't have a machine that runs
> 2.5.x stable enough to do some testing.

A quick look shows that (most of) the problems come from
highlevel.c, in the add_host etc. methods, where each driver
add_host etc. methods are called (which do kmallocs and schedules)
while a read_lock is taken.

Stelian.
--
Stelian Pop <[email protected]>
Alcove - http://www.alcove.com

2002-10-30 15:43:52

by Ben Collins

[permalink] [raw]
Subject: Re: [PATCH 2.5.bk] allow sbp2 driver to compile again

On Wed, Oct 30, 2002 at 03:40:04PM +0100, Stelian Pop wrote:
> On Wed, Oct 30, 2002 at 09:37:20AM -0500, Ben Collins wrote:
>
> > > While we are at it, there are a lot of 'bad: scheduling while atomic!'
> > > and 'sleeping function called from illegal context' when loading
> > > the ohci1394/sbp2 drivers (detailed stack available when compiling
> > > with CONFIG_DEBUG_KERNEL)...
> >
> > Yeah, I've noticed aswell. Problem is I don't have a machine that runs
> > 2.5.x stable enough to do some testing.
>
> Well, it should just be stable enough to survive a modprobe ohci1394...

I don't have any i386's to test with. I'm doing all my 1394 development
on ultrasparc, and a little on ia64, parisc, and powerpc...you know,
real machines :)

I'll be able to look at this over the weekend.

--
Debian - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
Deqo - http://www.deqo.com/