1. 18 May, 2004 2 commits
    • Russell King's avatar
      [PCMCIA] Convert IO resource allocation to use struct resource. · a7336008
      Russell King authored
      This causes PCMCIA to use struct resource internally for IO resources.
      This means that we can keep track of the resource pointer, expand
      this resource if necessary, and use release_resource() on it when
      we're done.
      
      This eventually means that we can change these to normal resources
      which aren't marked busy.
      a7336008
    • Russell King's avatar
      [PCMCIA] Fix a couple of resource bugs. · 7529d8a4
      Russell King authored
      Fix resource database bug where base + num wraps to zero.  Also,
      ensure that we always take the resource semaphore whenever we
      allocate a resource.
      7529d8a4
  2. 17 May, 2004 8 commits
  3. 18 May, 2004 1 commit
  4. 17 May, 2004 18 commits
    • Russell King's avatar
      5e49f9a3
    • Russell King's avatar
      [ARM] Update atomic.h · 135247bf
      Russell King authored
      This re-jigs atomic.h by providing atomic_add_return and
      atomic_sub_return as other architectures do.  This allows us to
      implement the atomic ops that test the new value without having
      to write the underlying atomic operation in various forms.
      135247bf
    • Ian Campbell's avatar
      [ARM] Fix use of page->count · 1f20fe30
      Ian Campbell authored
      Patch from: Ian Campbell
      
      This changes the atomic_t in struct page named count into a private
      member _count which breaks arch/arm/mm/init.c at line 80 which reads
      page->count directly in show_mem().
                                                                                      
      The comments in the above changeset suggest that page_count(page) is
      precisely equal to the old page->count semantics, even though the
      semantics of _count are different, so I think the following is correct
      1f20fe30
    • Greg Kroah-Hartman's avatar
      USB: fix dumb compile error in aiptek driver · d9e08e98
      Greg Kroah-Hartman authored
      Doesn't anyone ever actually build the patches they send me...
      d9e08e98
    • Oliver Neukum's avatar
      [PATCH] USB: purge wait_ms from core · 42842f8a
      Oliver Neukum authored
      this makes the core use the new safe waiting helper.
      
        - remove wait_ms from hub driver
      42842f8a
    • Oliver Neukum's avatar
      [PATCH] USB: new delay helper safe wrt waitqueues · 289cf6ad
      Oliver Neukum authored
      this is a new waiting helper safe even if we are left on a waitqueue.
      This version addresses Alan's concerns about ifdefs. Please apply.
      
        - add delay helper that is safe even if we are still on another waitqueue
      289cf6ad
    • David Brownell's avatar
      [PATCH] USB: ethernet/rndis gadget address params · 331a2d82
      David Brownell authored
      This resolves a FIXME by adding module parameters that can
      be used to provide stable (vs random) addresses, and gets
      rid of a runtime error from obsolete module parameter usage
      in the RNDIS code.
      
      The stable ethernet addresses are nice to hosts, which will
      normally want to save them away in config databases.  For
      example, without stable addresses Windows XP will end up
      recording quite a lot of RNDIS devices.
      331a2d82
    • David Brownell's avatar
      [PATCH] USB: RNDIS (and CDC) filter flag handling · eaab83eb
      David Brownell authored
      This should fix the problem David Meggy found, where RNDIS was setting
      the OID_GEN_CURRENT_PACKET_FILTER state incorrectly.  It's the same
      issue Andrew Morton noticed a while back, for that matter, but with
      more than just a "now compiles on 64 bit" fix.
      
      Basically the code needs to interpret 32 bits provided in the request
      from the (Windows) host, rather than 8 bits of other memory that's got
      some irrelevant value.
      
      The fix is just to save the 32 bits.  I did the same thing with the
      CDC Ethernet filter, which should eventually be used the same way:  to
      limit what packets get sent to the host.  Also defined a couple more
      of the CDC requests.
      eaab83eb
    • Bryan W. Headley's avatar
      [PATCH] USB: Aiptek.c Driver patch · 6aecb90d
      Bryan W. Headley authored
      6aecb90d
    • Linus Torvalds's avatar
      Merge bk://gkernel.bkbits.net/libata-2.6 · 277c7105
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      277c7105
    • Jeff Garzik's avatar
      Merge redhat.com:/spare/repo/netdev-2.6/remove-rcpci · fadf035a
      Jeff Garzik authored
      into redhat.com:/spare/repo/net-drivers-2.6
      fadf035a
    • Jeff Garzik's avatar
      Merge redhat.com:/spare/repo/netdev-2.6/fealnx · 052a883c
      Jeff Garzik authored
      into redhat.com:/spare/repo/net-drivers-2.6
      052a883c
    • Oliver Neukum's avatar
      [PATCH] USB: further fix to mdc800 · cc0b73f6
      Oliver Neukum authored
      I made a mistake fixing that driver. Here's the fix. Please apply soon.
      
        - fix race condition leading to busy waiting
      cc0b73f6
    • David Brownell's avatar
      [PATCH] USB: fix MSEC_TO_JIFFIES in usb code · fd7b635d
      David Brownell authored
      Here are some MSEC_TO_JIFFIES() fixes missed by whoever did it,
      plus a minor fix to grab root_hub->serialize() during OHCI
      suspend.  (I forgot to cut/paste those lines from resume.)
      fd7b635d
    • David Brownell's avatar
      [PATCH] USB: fix CONFIG_PM build issues · 676ab9a6
      David Brownell authored
      676ab9a6
    • Arjan van de Ven's avatar
      [PATCH] USB: fix obsolete header usage in usb storage · 469f0ab2
      Arjan van de Ven authored
      drivers/scsi/hosts.h is obsolete, <scsi/scsi_host.h> is the prefered header
      nowadays. (hosts.h is just a 1 line wrapper to include it for now anyway)
      469f0ab2
    • Zwane Mwaikambo's avatar
      [PATCH] USB: fix usb-serial serial_open oops · 14283028
      Zwane Mwaikambo authored
      No usb serial devices, just compiled in and the system has a USB controller.
      
      Unable to handle kernel NULL pointer dereference at virtual address 0000000c
       printing eip:
      c046a188
      *pde = 00000000
      Oops: 0000 [#1]
      PREEMPT SMP DEBUG_PAGEALLOC
      Modules linked in:
      CPU:    0
      EIP:    0060:[<c046a188>]    Not tainted VLI
      EFLAGS: 00010246   (2.6.6-mm3)
      EIP is at serial_open+0x38/0x170
      eax: 00000000   ebx: dc883000   ecx: c0613db8   edx: 00000000
      esi: 00000001   edi: 00000000   ebp: dc84cef0   esp: dc84cedc
      ds: 007b   es: 007b   ss: 0068
      Process serial (pid: 1073, threadinfo=dc84c000 task=ddffca50)
      Stack: 00000000 de8f4f5c ffffffed 00000100 de8f4f5c dc84cf14 c035a874 090115a0
             0bc00000 dc883000 00000000 de8f4f5c 00000001 df8a2dfc dc84cf40 c0171270
             dc84c000 00000001 00000000 de8f4f5c dbc75e94 00000000 de8f4f5c dbc75e94
      Call Trace:
       [<c01076c5>] show_stack+0x75/0x90
       [<c010781f>] show_registers+0x11f/0x180
       [<c01079c6>] die+0xb6/0x170
       [<c011af20>] do_page_fault+0x1e0/0x525
       [<c010732d>] error_code+0x2d/0x40
       [<c035a874>] tty_open+0x274/0x3b0
       [<c0171270>] chrdev_open+0x160/0x340
       [<c0166426>] dentry_open+0x156/0x230
       [<c01662cd>] filp_open+0x4d/0x50
       [<c0166858>] sys_open+0x38/0x70
       [<c0106199>] sysenter_past_esp+0x52/0x79
      
      Code: de 63 c0 89 55 f0 c7 45 ec 00 00 00 00 85 f6 0f 85 31 01 00 00 c7 83
      8c 09 00 00 00 00 00 00 8b 43 08 e8 3c fe ff ff 31 d2 89 c7 <8a> 50 0c 8b
      43 08 29 d0 8b 74 87 18 89 b3 8c 09 00 00 89 5e 04
      
      (gdb) list *serial_open+0x38
      0xc046a188 is in serial_open (drivers/usb/serial/usb-serial.c:465).
      460
      461             /* get the serial object associated with this tty pointer */
      462             serial = usb_serial_get_by_index(tty->index);
      463
      464             /* set up our port structure making the tty driver remember our port object, and us it */
      465             portNumber = tty->index - serial->minor;
      466             port = serial->port[portNumber];
      467             tty->driver_data = port;
      468
      469             port->tty = tty;
      14283028
    • Greg Kroah-Hartman's avatar
      USB: fix build error in drivers/usb/serial/console.c · 393fce22
      Greg Kroah-Hartman authored
      Thanks to Adrian Bunk <bunk@fs.tum.de> for pointing this out.
      393fce22
  5. 16 May, 2004 11 commits
    • Jeff Garzik's avatar
      [libata] replace ATA_QCFLAG_ATAPI with inline helper · 043ea303
      Jeff Garzik authored
      Detection of an ATAPI taskfile is possible using a simple test
      on existing information, so there is no need to cache this value
      in a separate flag (ATA_QCFLAG_ATAPI).  Instead, create and use
      a new helper function is_atapi_taskfile().
      043ea303
    • Jeff Garzik's avatar
      [libata] scsi simulator improvements: MODE SENSE, SEEK(6,10), REZERO_UNIT · ffb17d43
      Jeff Garzik authored
      * SEEK(6), SEEK(10), and REZERO_UNIT are no-ops.  Unconditionally
        complete these commands with success.
      * MODE SENSE caching page work:
      	* correct page length
      	* set bit, if read-ahead is disabled
      	* set bit, if writeback caching is enabled
      	  (previously, this bit was never set, even if
      	   writeback caching was enabled)
      * add MODE SENSE r/w error recovery page
      ffb17d43
    • Jeff Garzik's avatar
      [libata] comments and constants · a163af74
      Jeff Garzik authored
      * note a nasty problem with shared interrupts that must be fixed
        before we turn on certain code paths.
      * add a few comments to the READ CAPACITY scsi simulator
      * remove a FIXME comment from the TEST UNIT READY scsi simulator
      * add constant for ATA command CHECK POWER MODE, and associated
        "mandatory" power management feature set bit.
      a163af74
    • Jeff Garzik's avatar
      [libata] SCSI->ATA simulator hacking: INQUIRY command · 7f594e47
      Jeff Garzik authored
      The SCSI T10 committee is working on a document describing a standard
      method for translating ATA<->SCSI, since it being done quite often
      these days.  Some of the recommendations are reasonable, and we implement
      two here:
      
      * Mirror that ATA 'removeable media' bit into INQUIRY output.
      * Change behavior of INQUIRY output field 'product revision' from
        the libata software version number to the first 4 bytes of the
        ATA device's firmware revision number.
      
      Rather than cache the firmware revision in struct ata_device, as was/is
      done with two other strings, I took the opportunity to eliminate the
      caching of the two other strings, 'vendor' and 'product'.  These strings
      are now retrieved as needed from the IDENTIFY [PACKET] DEVICE info page,
      since we cache its entire contents.
      
      Retrieving a string from the identify-device page is done via the
      helper function ata_dev_id_string(), which is now exported.
      
      This patch winds up making struct ata_device 40 bytes smaller, and
      the libata core gets a bit smaller as well.
      7f594e47
    • Jeff Garzik's avatar
      [libata] remove redundant use of ATA_QCFLAG_SG in ATAPI packet translation · e9c8846e
      Jeff Garzik authored
      ata_scsi_translate() sets this flag for all ATA->SCSI translated
      commands, so it need not be done in atapi_xlat().  The now-removed
      use in atapi_xlat() was also inconsistent WRT PIO versus DMA.
      e9c8846e
    • Jeff Garzik's avatar
      [libata] DMADIR support · d89ee021
      Jeff Garzik authored
      DMADIR bit is necessary for some PATA->SATA bridges.  These
      bridges require the OS driver to specify the data xfer direction,
      for PACKET (a.k.a. scsi) commands.
      
      A reliable DMADIR detection method hasn't yet been developed,
      and ATAPI is still a WIP, so DMADIR is enabled with an ifdef for
      now.
      d89ee021
    • Linus Torvalds's avatar
      Merge bk://gkernel.bkbits.net/libata-2.6 · bd7b6c43
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      bd7b6c43
    • Linus Torvalds's avatar
      Merge bk://bk.arm.linux.org.uk/linux-2.6-serial · b3e0153f
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      b3e0153f
    • Russell King's avatar
      [SERIAL] Remove base_baud default from 8250_pci · abec7137
      Russell King authored
      Since all boards specify base_baud, the code to default base_baud to
      the architecture-defined BASE_BAUD is redundant.  Also, defaulting
      to the architecture-defined BASE_BAUD is wrong since the UARTs on a
      serial PCI card will be clocked at the same rate no matter what the
      architecture of the host machine.
      abec7137
    • Linus Torvalds's avatar
      Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk · 03fc059c
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      03fc059c
    • Russell King's avatar
      [ARM] Convert execve() to be a function rather than a SWI call. · a7aea5bf
      Russell King authored
      This eliminates the last SWI user from the kernel - now all SWI calls
      will only come from userspace.  More importantly, this also allows us
      to empty the kernel stack when starting userspace programs from
      kernelspace, thereby ensuring that the user registers always appear
      at the top of the kernel stack.
      a7aea5bf