mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [patch 2.6.12-rc5] pcmcia/cs.c and SS_CAP_STATIC_MAP
@ 2005-05-28 23:09 David Brownell
  0 siblings, 0 replies; only message in thread
From: David Brownell @ 2005-05-28 23:09 UTC (permalink / raw)
  To: Linux Kernel list

[-- Attachment #1: Type: text/plain, Size: 283 bytes --]

I traced a puzzling bug down to the combination of SS_CAP_STATIC_MAP,
finicky hardware, and a bug fixed by the following patch.  The fix
is a one-liner that won't affect any socket driver that's yet merged;
basically, it stops discarding I/O attributes for static mappings.

- Dave


[-- Attachment #2: pcmcia.patch --]
[-- Type: text/x-diff, Size: 1162 bytes --]

The PCMCIA card services layer is never setting the i/o map attributes
when SS_CAP_STATIC_MAP is specified.  Net result, sockets' set_io_map()
calls always see requests with most flags clear, meaning 8 bit access.

For hardware that always autosizes, that won't matter; and all current
STATIC_MAP drivers ignore those attributes.  A new driver (for at91rm9200)
suffers badly from this, since this forces everything into 8 bit mode and
that breaks both (a) cards requiring 16 bit access, and (b) ide-cs; but
of course 8-bit cards work OK (as does accessing card attributes).

So this patch arranges to pass the attributes down, matching the behavior
for non-static mappings (using the first/only I/O window).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>

--- at91x.orig/drivers/pcmcia/cs.c	2005-05-28 14:20:39.000000000 -0700
+++ at91x/drivers/pcmcia/cs.c	2005-05-28 15:21:06.000000000 -0700
@@ -767,6 +767,7 @@
     }
     if ((s->features & SS_CAP_STATIC_MAP) && s->io_offset) {
 	*base = s->io_offset | (*base & 0x0fff);
+	s->io[0].Attributes = attr;
 	return 0;
     }
     /* Check for an already-allocated window that must conflict with

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-05-28 23:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-28 23:09 [patch 2.6.12-rc5] pcmcia/cs.c and SS_CAP_STATIC_MAP David Brownell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®