Re: [Bug 8366] aic79xx and aic7xxx driver issues

Freels, James D.
2007-07-26T21:37:33Z

Here is what I get when I apply the patch against the vanilla 2.6.22.1
source:

fea8:/usr/src/linux-2.6.22.1# patch -p1 <../new_aic_patch
patching file drivers/scsi/aic7xxx/aic79xx_osm.c
Hunk #1 FAILED at 2284.
Hunk #2 FAILED at 2368.
Hunk #3 FAILED at 2450.
Hunk #4 FAILED at 2490.
Hunk #5 FAILED at 2526.
Hunk #6 FAILED at 2570.
Hunk #7 FAILED at 2606.
Hunk #8 FAILED at 2650.
8 out of 8 hunks FAILED -- saving rejects to file
drivers/scsi/aic7xxx/aic79xx_osm.c.rej
patching file drivers/scsi/aic7xxx/aic7xxx_osm.c
Hunk #1 FAILED at 2317.
Hunk #2 FAILED at 2386.
2 out of 2 hunks FAILED -- saving rejects to file
drivers/scsi/aic7xxx/aic7xxx_osm.c.rej
fea8:/usr/src/linux-2.6.22.1#

Here are the contents is the last reject file (probably similar for
all):

drivers/scsi/aic7xxx/aic7xxx_osm.c.rej

*************** static void ahc_linux_set_period(struct scsi_target
*starget, int period)
*** 2317,2324 ****

if (period < 9)
period = 9; /* 12.5ns is our minimum */
- if (period == 9)
- ppr_options |= MSG_EXT_PPR_DT_REQ;

ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0,
starget->channel + 'A', ROLE_INITIATOR);
--- 2317,2329 ----

if (period < 9)
period = 9; /* 12.5ns is our minimum */
+ if (period == 9) {
+ if (spi_max_width(starget))
+ ppr_options |= MSG_EXT_PPR_DT_REQ;
+ else
+ /* need wide for DT and need DT for 12.5 ns */
+ period = 10;
+ }

ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0,
starget->channel + 'A', ROLE_INITIATOR);
*************** static void ahc_linux_set_dt(struct scsi_target
*starget, int dt)
*** 2381,2387 ****
unsigned long flags;
struct ahc_syncrate *syncrate;

- if (dt) {
ppr_options |= MSG_EXT_PPR_DT_REQ;
if (!width)
ahc_linux_set_width(starget, 1);
--- 2386,2392 ----
unsigned long flags;
struct ahc_syncrate *syncrate;

+ if (dt && spi_max_width(starget)) {
ppr_options |= MSG_EXT_PPR_DT_REQ;
if (!width)
ahc_linux_set_width(starget, 1);

On Thu, 2007-07-26 at 17:29 -0400, James Bottomley wrote:
> On Thu, 2007-07-26 at 17:16 -0400, Freels, James D. wrote:
> > James, I would be glad to try the fix. I can grab the changes below,
> > but can you give me the patch command ? I know how to patch the
> > normal kernel sources. Is this a patch for 2.6.22.1 ?
>
> It was created against current git, but there should be little
> difference in the aic driver between that and 2.6.22.1, so it should
> apply there as well.
>
> > cd /usr/src/linux-2.6.22.1
> >
> > patch -p1 <../your_new_patch
> >
> > where your_new_patch is in /usr/src
>
> Yes, that should do it.
>
> James
>
>
James D. Freels, Ph.D.
Senior Research Staff, HFIR Cold Source, ORNL