1. 20 2月, 2008 2 次提交
    • S
      firewire: fw-sbp2: fix NULL pointer deref. in slave_alloc · 5513c5f6
      Stefan Richter 提交于
      Fix a kernel bug when running rescan-scsi-bus while a FireWire disk is
      connected:  http://bugzilla.kernel.org/show_bug.cgi?id=10008Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      5513c5f6
    • S
      firewire: fw-sbp2: (try to) avoid I/O errors during reconnect · 2e2705bd
      Stefan Richter 提交于
      While fw-sbp2 takes the necessary time to reconnect to a logical unit
      after bus reset, the SCSI core keeps sending new commands.  They are all
      immediately completed with host busy status, and application clients or
      filesystems will break quickly.  The SCSI device might even be taken
      offline:  http://bugzilla.kernel.org/show_bug.cgi?id=9734
      
      The only remedy seems to be to block the SCSI device until reconnect.
      Alas the SCSI core has no useful API to block only one logical unit i.e.
      the scsi_device, therefore we block the entire Scsi_Host.  This
      currently corresponds to an SBP-2 target.  In case of targets with
      multiple logical units, we need to satisfy the dependencies between
      logical units by carefully tracking the blocking state of the target and
      its units.  We block all logical units of a target as soon as one of
      them needs to be blocked, and keep them blocked until all of them are
      ready to be unblocked.
      
      Furthermore, as the history of the old sbp2 driver has shown, the
      scsi_block_requests() API is a minefield with high potential of
      deadlocks.  We therefore take extra measures to keep logical units
      unblocked during __scsi_add_device() and during shutdown.
      
      This avoids I/O errors during reconnect in many but alas not in all
      cases.  There may still be errors after a re-login had to be performed.
      Also, some bridges have been seen to cease fetching management ORBs if
      I/O went on up until a bus reset.  In these cases, all management ORBs
      time out after mgt_orb_timeout.  The old sbp2 driver is less vulnerable
      or maybe not vulnerable to this, for as yet unknown reasons.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      2e2705bd
  2. 16 2月, 2008 13 次提交
    • S
      firewire: fw-sbp2: enforce a retry of __scsi_add_device if bus generation changed · e80de370
      Stefan Richter 提交于
      fw-sbp2 is unable to reconnect while performing __scsi_add_device
      because there is only a single workqueue thread context available for
      both at the moment.  This should be fixed eventually.
      
      An actual failure of __scsi_add_device is easy to handle, but an
      incomplete execution of __scsi_add_device with an sdev returned would
      remain undetected and leave the SBP-2 target unusable.
      
      Therefore we use a workaround:  If there was a bus reset during
      __scsi_add_device (i.e. during the SCSI probe), we remove the new sdev
      immediately, log out, and attempt login and SCSI probe again.
      
      Tested-by: Jarod Wilson <jwilson@redhat.com> (earlier version)
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      e80de370
    • S
      firewire: fw-sbp2: sort includes · 7bb6bf7c
      Stefan Richter 提交于
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      7bb6bf7c
    • S
      firewire: fw-sbp2: logout and login after failed reconnect · ce896d95
      Stefan Richter 提交于
      If fw-sbp2 was too late with requesting the reconnect, the target would
      reject this.  In this case, log out before attempting the reconnect.
      Else several firmwares will deny the re-login because they somehow
      didn't invalidate the old login.
      
      Also, don't retry reconnects in this situation.  The retries won't
      succeed either.
      
      These changes improve chances for successful re-login and shorten the
      period during which the logical unit is inaccessible.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NJarod Wilson <jwilson@redhat.com>
      ce896d95
    • S
      firewire: fw-sbp2: don't add scsi_device twice · 0fa6dfdb
      Stefan Richter 提交于
      When a reconnect failed but re-login succeeded, __scsi_add_device was
      called again.
      
      In those cases, __scsi_add_device succeeded and returned the pointer to
      the existing scsi_device.  fw-sbp2 then continued orderly, except that
      it missed to call sbp2_cancel_orbs.  SCSI core would call fw-sbp2's
      eh_abort_handler eventually if there had been an outstanding command.
      
      This patch avoids the needless lookups and temporary allocations in SCSI
      core and I/O stall and timeout until eh_abort_handler hits.
      
      Also, __scsi_add_device tolerating calls for devices which already exist
      is undocumented behavior on which we shouldn't rely.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NJarod Wilson <jwilson@redhat.com>
      0fa6dfdb
    • S
      firewire: fw-sbp2: log bus_id at management request failures · 48f18c76
      Stefan Richter 提交于
      for easier readable logs if more than one SBP-2 device is present.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NJarod Wilson <jwilson@redhat.com>
      48f18c76
    • S
      firewire: fw-sbp2: wait for completion of fetch agent reset · e0e60215
      Stefan Richter 提交于
      Like the old sbp2 driver, wait for the write transaction to the
      AGENT_RESET to complete before proceeding (after login, after reconnect,
      or in SCSI error handling).
      
      There is one occasion where AGENT_RESET is written to from atomic
      context when getting DEAD status for a command ORB.  There we still
      continue without waiting for the transaction to complete because this
      is more difficult to fix...
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      e0e60215
    • S
      ieee1394: sbp2: add INQUIRY delay workaround · d94a9835
      Stefan Richter 提交于
      Add the same workaround as found in fw-sbp2 for feature parity and
      compatibility of the workarounds module parameter.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NJarod Wilson <jwilson@redhat.com>
      d94a9835
    • S
      firewire: fw-sbp2: add INQUIRY delay workaround · 9220f194
      Stefan Richter 提交于
      Several different SBP-2 bridges accept a login early while the IDE
      device is still powering up.  They are therefore unable to respond to
      SCSI INQUIRY immediately, and the SCSI core has to retry the INQUIRY.
      One of these retries is typically successful, and all is well.
      
      But in case of Momobay FX-3A, the INQUIRY retries tend to fail entirely.
      This can usually be avoided by waiting a little while after login before
      letting the SCSI core send the INQUIRY.  The old sbp2 driver handles
      this more gracefully for as yet unknown reasons (perhaps because it
      waits for fetch agent resets to complete, unlike fw-sbp2 which quickly
      proceeds after requesting the agent reset).  Therefore the workaround is
      not as much necessary for sbp2.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NJarod Wilson <jwilson@redhat.com>
      9220f194
    • S
      firewire: log GUID of new devices · fa6e697b
      Stefan Richter 提交于
      This should help to interpret user reports.  E.g. one can look up the
      vendor OUI (first three bytes of the GUID) and thus tell what is what.
      
      Also simplifies the math in the GUID sysfs attribute.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NJarod Wilson <jwilson@redhat.com>
      fa6e697b
    • S
      firewire: fw-sbp2: don't retry login or reconnect after unplug · be6f48b0
      Stefan Richter 提交于
      If a device is being unplugged while fw-sbp2 had a login or reconnect on
      schedule, it would take about half a minute to shut the fw_unit down:
      
          Jan 27 18:34:54 stein firewire_sbp2: logged in to fw2.0 LUN 0000 (0 retries)
          <unplug>
          Jan 27 18:34:59 stein firewire_sbp2: sbp2_scsi_abort
          Jan 27 18:34:59 stein scsi 25:0:0:0: Device offlined - not ready after error recovery
          Jan 27 18:35:01 stein firewire_sbp2: orb reply timed out, rcode=0x11
          Jan 27 18:35:06 stein firewire_sbp2: orb reply timed out, rcode=0x11
          Jan 27 18:35:12 stein firewire_sbp2: orb reply timed out, rcode=0x11
          Jan 27 18:35:17 stein firewire_sbp2: orb reply timed out, rcode=0x11
          Jan 27 18:35:22 stein firewire_sbp2: orb reply timed out, rcode=0x11
          Jan 27 18:35:27 stein firewire_sbp2: orb reply timed out, rcode=0x11
          Jan 27 18:35:32 stein firewire_sbp2: orb reply timed out, rcode=0x11
          Jan 27 18:35:32 stein firewire_sbp2: failed to login to fw2.0 LUN 0000
          Jan 27 18:35:32 stein firewire_sbp2: released fw2.0
      
      After this patch, typically only a few seconds spent in __scsi_add_device
      remain:
      
          Jan 27 19:05:50 stein firewire_sbp2: logged in to fw2.0 LUN 0000 (0 retries)
          <unplug>
          Jan 27 19:05:56 stein firewire_sbp2: sbp2_scsi_abort
          Jan 27 19:05:56 stein scsi 33:0:0:0: Device offlined - not ready after error recovery
          Jan 27 19:05:56 stein firewire_sbp2: released fw2.0
      
      The benefit of this is less noise in the syslog.  It furthermore avoids
      a few wasted CPU cycles and needlessly prolonged lifetime of a few
      driver objects.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NJarod Wilson <jwilson@redhat.com>
      be6f48b0
    • S
      firewire: fix "kobject_add failed for fw* with -EEXIST" · 96b19062
      Stefan Richter 提交于
      There is a race between shutdown and creation of devices:  fw-core may
      attempt to add a device with the same name of an already existing
      device.  http://bugzilla.kernel.org/show_bug.cgi?id=9828
      
      Impact of the bug:  Happens rarely (when shutdown of a device coincides
      with creation of another), forces the user to unplug and replug the new
      device to get it working.
      
      The fix is obvious:  Free the minor number *after* instead of *before*
      device_unregister().  This requires to take an additional reference of
      the fw_device as long as the IDR tree points to it.
      
      And while we are at it, we fix an additional race condition:
      fw_device_op_open() took its reference of the fw_device a little bit too
      late, hence was in danger to access an already invalid fw_device.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      96b19062
    • S
      firewire: fw-sbp2: fix logout before login retry · 1b9c12ba
      Stefan Richter 提交于
      This fixes a "can't recognize device" kind of bug.
      
      If the SCSI INQUIRY failed and hence __scsi_add_device failed due to a
      bus reset, we tried a logout and then waited for the already scheduled
      login work to happen.  So far so good, but the generation used for the
      logout was outdated, hence the logout never reached the target.  The
      target might therefore deny the subsequent relogin attempt, which would
      also leave the target inaccessible.
      
      Therefore fetch a fresh device->generation for the logout.  Use memory
      barriers to prevent our plan being foiled by compiler or hardware
      optimizations.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      1b9c12ba
    • S
      firewire: fw-sbp2: unsigned int vs. unsigned · 05cca738
      Stefan Richter 提交于
      Standardize on "unsigned int" style.
      Sort some struct members thematically.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      05cca738
  3. 11 2月, 2008 7 次提交
  4. 10 2月, 2008 18 次提交
    • D
      [PKT_SCHED] ematch: Fix build warning. · 30ddb159
      David S. Miller 提交于
      Commit 954415e3 ("[PKT_SCHED] ematch:
      tcf_em_destroy robustness") removed a cast on em->data when
      passing it to kfree(), but em->data is an integer type that can
      hold pointers as well as other values so the cast is necessary.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      30ddb159
    • O
      hrtimer: don't modify restart_block->fn in restart functions · c289b074
      Oleg Nesterov 提交于
      hrtimer_nanosleep_restart() clears/restores restart_block->fn. This is
      pointless and complicates its usage. Note that if sys_restart_syscall()
      doesn't actually happen, we have a bogus "pending" restart->fn anyway,
      this is harmless.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Cc: Alexey Dobriyan <adobriyan@sw.ru>
      Cc: Pavel Emelyanov <xemul@sw.ru>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Toyo Abe <toyoa@mvista.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      c289b074
    • O
      hrtimer: fix *rmtp/restarts handling in compat_sys_nanosleep() · 41652937
      Oleg Nesterov 提交于
      Spotted by Pavel Emelyanov and Alexey Dobriyan.
      
      compat_sys_nanosleep() implicitly uses hrtimer_nanosleep_restart(), this can't
      work. Make a suitable compat_nanosleep_restart() helper.
      
      Introduced by commit c70878b4
      hrtimer: hook compat_sys_nanosleep up to high res timer code
      
      Also, set ->addr_limit = KERNEL_DS before doing hrtimer_nanosleep(), this func
      was changed by the previous patch and now takes the "__user *" parameter.
      
      Thanks to Ingo Molnar for fixing the bug in this patch.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Alexey Dobriyan <adobriyan@sw.ru>
      Cc: Pavel Emelyanov <xemul@sw.ru>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Toyo Abe <toyoa@mvista.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      41652937
    • O
      hrtimer: fix *rmtp handling in hrtimer_nanosleep() · 080344b9
      Oleg Nesterov 提交于
      Spotted by Pavel Emelyanov and Alexey Dobriyan.
      
      hrtimer_nanosleep() sets restart_block->arg1 = rmtp, but this rmtp points to
      the local variable which lives in the caller's stack frame. This means that
      if sys_restart_syscall() actually happens and it is interrupted as well, we
      don't update the user-space variable, but write into the already dead stack
      frame.
      
      Introduced by commit 04c22714
      hrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier
      
      Change the callers to pass "__user *rmtp" to hrtimer_nanosleep(), and change
      hrtimer_nanosleep() to use copy_to_user() to actually update *rmtp.
      
      Small problem remains. man 2 nanosleep states that *rtmp should be written if
      nanosleep() was interrupted (it says nothing whether it is OK to update *rmtp
      if nanosleep returns 0), but (with or without this patch) we can dirty *rem
      even if nanosleep() returns 0.
      
      NOTE: this patch doesn't change compat_sys_nanosleep(), because it has other
      bugs. Fixed by the next patch.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Cc: Alexey Dobriyan <adobriyan@sw.ru>
      Cc: Michael Kerrisk <mtk.manpages@googlemail.com>
      Cc: Pavel Emelyanov <xemul@sw.ru>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Toyo Abe <toyoa@mvista.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      
       include/linux/hrtimer.h |    2 -
       kernel/hrtimer.c        |   51 +++++++++++++++++++++++++-----------------------
       kernel/posix-timers.c   |   14 +------------
       3 files changed, 30 insertions(+), 37 deletions(-)
      080344b9
    • J
      ntp: correct inconsistent interval/tick_length usage · e13a2e61
      john stultz 提交于
      clocksource initialization and error accumulation.  This corrects a 280ppm
      drift seen on some systems using acpi_pm, and affects other clocksources as
      well (likely to a lesser degree).
      Signed-off-by: NJohn Stultz <johnstul@us.ibm.com>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      e13a2e61
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 25f66630
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (28 commits)
        [NET_SCHED] sch_htb: htb_requeue fix
        [IPV6]: Replace using the magic constant "1024" with IP6_RT_PRIO_USER for fc_metric.
        starfire: secton fix
        via-velocity: section fix
        natsemi: section fix
        typhoon: section fix
        isdn: fix section mismatch warning for ISACVer
        isdn: fix section mismatch warnings from hisax_cs_setup_card
        isdn: fix section mismatch warnings in isac.c and isar.c
        isdn: fix section mismatch warning in hfc_sx.c
        [PKT_SCHED] ematch: tcf_em_destroy robustness
        [PKT_SCHED]: deinline functions in meta match
        [SCTP]: Convert sctp_dbg_objcnt to seq files.
        [SCTP]: Use snmp_fold_field instead of a homebrew analogue.
        [IGMP]: Optimize kfree_skb in igmp_rcv.
        [KEY]: Convert net/pfkey to use seq files.
        [KEY]: Clean up proc files creation a bit.
        pppol2tp: fix printk warnings
        bnx2: section fix
        bnx2x: section fix
        ...
      25f66630
    • J
      [NET_SCHED] sch_htb: htb_requeue fix · 21347456
      Jarek Poplawski 提交于
      htb_requeue() enqueues skbs for which htb_classify() returns NULL.
      This is wrong because such skbs could be handled by NET_CLS_ACT code,
      and the decision could be different than earlier in htb_enqueue().
      So htb_requeue() is changed to work and look more like htb_enqueue().
      Signed-off-by: NJarek Poplawski <jarkao2@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      21347456
    • R
      [IPV6]: Replace using the magic constant "1024" with IP6_RT_PRIO_USER for fc_metric. · 238fc7ea
      Rami Rosen 提交于
      This patch replaces the explicit usage of the magic constant "1024"
      with IP6_RT_PRIO_USER in the IPV6 tree.
      Signed-off-by: NRami Rosen <ramirose@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      238fc7ea
    • A
      starfire: secton fix · da219b7c
      Andrew Morton 提交于
      gcc-3.4.4 on powerpc:
      
      drivers/net/starfire.c:219: error: version causes a section type conflict
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      da219b7c
    • A
      via-velocity: section fix · 4f14b92f
      Andrew Morton 提交于
      From: Andrew Morton <akpm@linux-foundation.org>
      
      gcc-3.4.4 on powerpc:
      
      drivers/net/via-velocity.c:443: error: chip_info_table causes a section type conflict
      
      on this one I had to remove the __devinitdata too.  Don't know why.
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4f14b92f
    • A
      natsemi: section fix · aa738adf
      Andrew Morton 提交于
      gcc-3.4.4 on powerpc:
      
      drivers/net/natsemi.c:245: error: natsemi_pci_info causes a section type conflict
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aa738adf
    • A
      typhoon: section fix · 952b3494
      Andrew Morton 提交于
      gcc-3.4.4 on powerpc:
      
      drivers/net/typhoon.c:137: error: version causes a section type conflict
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      952b3494
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 · 0b6ca82a
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (32 commits)
        x86: cpa, strict range check in try_preserve_large_page()
        x86: cpa, enable CONFIG_DEBUG_PAGEALLOC on 64-bit
        x86: cpa, use page pool
        x86: introduce page pool in cpa
        x86: DEBUG_PAGEALLOC: enable after mem_init()
        brk: help text typo fix
        lguest: accept guest _PAGE_PWT page table entries
        x86 PM: update stale comments
        x86 PM: consolidate suspend and hibernation code
        x86 PM: rename 32-bit files in arch/x86/power
        x86 PM: move 64-bit hibernation files to arch/x86/power
        x86: trivial printk optimizations
        x86: fix early_ioremap pagetable ops
        x86: construct 32-bit boot time page tables in native format.
        x86, core: remove CONFIG_FORCED_INLINING
        x86: avoid unused variable warning in mm/init_64.c
        x86: fixup more paravirt fallout
        brk: document randomize_va_space and CONFIG_COMPAT_BRK (was Re:
        x86: fix sparse warnings in acpi/bus.c
        x86: fix sparse warning in topology.c
        ...
      0b6ca82a
    • S
      isdn: fix section mismatch warning for ISACVer · f4e64333
      Sam Ravnborg 提交于
      Fix following warnings:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x19723): Section mismatch in reference from the function ISACVersion() to the variable .devinit.data:ISACVer
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2005b): Section mismatch in reference from the function setup_avm_a1_pcmcia() to the function .devinit.text:setup_isac()
      
      ISACVer were only used from function annotated __devinit
      so add same annotation to ISACVer.
      One af the fererencing functions missed __devinit so add it
      and kill an additional warning.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f4e64333
    • S
      isdn: fix section mismatch warnings from hisax_cs_setup_card · 2fddb6e2
      Sam Ravnborg 提交于
      Fix the following warnings:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x722): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_teles3()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x72c): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_s0box()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x736): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_telespci()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x747): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_avm_pcipnp()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x74e): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_elsa()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x755): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_diva()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x75c): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_sedlbauer()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x763): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_netjet_s()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x76a): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_hfcpci()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x771): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_hfcsx()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x778): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_niccy()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x77f): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_bkm_a4t()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x786): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_sct_quadro()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x78d): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_gazel()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x794): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_w6692()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x79b): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_netjet_u()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x7a2): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_enternow_pci()
      
      checkcard() are the only user of hisax_cs_setup_card().
      And checkcard is only used during init or when hot plugging
      ISDN devices. So annotate hisax_cs_setup_card() with __devinit.
      checkcard() is used by exported functions so it cannot be
      annotated __devinit. Annotate it with __ref so modpost
      ignore references to _devinit section.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2fddb6e2
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · bfc1de0c
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: (24 commits)
        [SPARC]: Add solaris/sunos binary support to feature removal schedule.
        [SPARC]: Merge asm-sparc{,64}/a.out.h
        [SPARC]: Merge asm-sparc{,64}/fb.h
        [SPARC]: Merge asm-sparc{,64}/errno.h
        [SPARC]: Merge asm-sparc{,64}/emergency-restart.h
        [SPARC]: Merge asm-sparc{,64}/div64.h
        [SPARC]: Merge asm-sparc{,64}/device.h
        [SPARC]: Merge asm-sparc{,64}/current.h
        [SPARC]: Merge asm-sparc{,64}/cputime.h
        [SPARC]: Merge asm-sparc{,64}/cache.h
        [SPARC]: Merge asm-sparc{,64}/byteorder.h
        [SPARC]: Merge asm-sparc{,64}/bugs.h
        [SPARC]: Merge asm-sparc{,64}/bug.h
        [SPARC]: Kill BSD errno translation table and header files.
        [SPARC]: Merge asm-sparc{,64}/bpp.h
        [SPARC]: Merge include/asm-sparc{,64}/auxvec.h
        [SPARC]: Merge include/asm-sparc{,64}/of_device.h
        [SPARC]: Merge include/asm-sparc{,64}/prom.h
        [SPARC]: Remove of_platform_device_create
        [SPARC64]: Add kretprobe support.
        ...
      bfc1de0c
    • S
      isdn: fix section mismatch warnings in isac.c and isar.c · d348c2a3
      Sam Ravnborg 提交于
      Fix the following warnings:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x1b276): Section mismatch in reference from the function inithscxisac() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x1b286): Section mismatch in reference from the function inithscxisac() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x1fec7): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x21669): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x21671): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2991e): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x29936): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2993e): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:initisar()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2e026): Section mismatch in reference from the function NETjet_S_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2e02e): Section mismatch in reference from the function NETjet_S_card_msg() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x37813): Section mismatch in reference from the function BKM_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x37823): Section mismatch in reference from the function BKM_card_msg() to the function .devinit.text:initisac()
      
      initisar(), initisac() and clear_pending_isac_ints()
      were all used via a cardmsg fnction - which may be called
      ouside __devinit context.
      So remove the bogus __devinit annotation of the
      above three functions to fix the warnings.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d348c2a3
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 1712a699
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: Add new "development flag" to the ext4 filesystem
        ext4: Don't panic in case of corrupt bitmap
        ext4: allocate struct ext4_allocation_context from a kmem cache
        JBD2:  Clear buffer_ordered flag for barried IO request on success
        ext4: Fix Direct I/O locking
        ext4: Fix circular locking dependency with migrate and rm.
        allow in-inode EAs on ext4 root inode
        ext4: Fix null bh pointer dereference in mballoc
        ext4: Don't set EXTENTS_FL flag for fast symlinks
        JBD2: Use the incompat macro for testing the incompat feature.
        jbd2: Fix reference counting on the journal commit block's buffer head
        [PATCH] jbd: Remove useless loop when writing commit record
        jbd2: Add error check to journal_wait_on_commit_record to avoid oops
      1712a699