1. 08 8月, 2007 7 次提交
    • B
      ibmveth: Fix rx pool deactivate oops · 76b9cfcc
      Brian King 提交于
      This fixes the following oops which can occur when trying to deallocate
      receive buffer pools using sysfs with the ibmveth driver.
      
      NIP: d00000000024f954 LR: d00000000024fa58 CTR: c0000000000d7478
      REGS: c00000000ffef9f0 TRAP: 0300   Not tainted  (2.6.22-ppc64)
      MSR: 8000000000009032 <EE,ME,IR,DR>  CR: 24242442  XER: 00000010
      DAR: 00000000000007f0, DSISR: 0000000042000000
      TASK = c000000002f91360[2967] 'bash' THREAD: c00000001398c000 CPU: 2
      GPR00: 0000000000000000 c00000000ffefc70 d000000000262d30 c00000001c4087a0
      GPR04: 00000003000000fe 0000000000000000 000000000000000f c000000000579d80
      GPR08: 0000000000365688 c00000001c408998 00000000000007f0 0000000000000000
      GPR12: d000000000251e88 c000000000579d80 00000000200957ec 0000000000000000
      GPR16: 00000000100b8808 00000000100feb30 0000000000000000 0000000010084828
      GPR20: 0000000000000000 000000001014d4d0 0000000000000010 c00000000ffefeb0
      GPR24: c00000001c408000 0000000000000000 c00000001c408000 00000000ffffb054
      GPR28: 00000000000000fe 0000000000000003 d000000000262700 c00000001c4087a0
      NIP [d00000000024f954] .ibmveth_remove_buffer_from_pool+0x38/0x108 [ibmveth]
      LR [d00000000024fa58] .ibmveth_rxq_harvest_buffer+0x34/0x78 [ibmveth]
      Call Trace:
      [c00000000ffefc70] [c0000000000280a8] .dma_iommu_unmap_single+0x14/0x28 (unreliable)
      [c00000000ffefd00] [d00000000024fa58] .ibmveth_rxq_harvest_buffer+0x34/0x78 [ibmveth]
      [c00000000ffefd80] [d000000000250e40] .ibmveth_poll+0xd8/0x434 [ibmveth]
      [c00000000ffefe40] [c00000000032da8c] .net_rx_action+0xdc/0x248
      [c00000000ffefef0] [c000000000068b4c] .__do_softirq+0xa8/0x164
      [c00000000ffeff90] [c00000000002789c] .call_do_softirq+0x14/0x24
      [c00000001398f6f0] [c00000000000c04c] .do_softirq+0x68/0xac
      [c00000001398f780] [c000000000068ca0] .irq_exit+0x54/0x6c
      [c00000001398f800] [c00000000000c8e4] .do_IRQ+0x170/0x1ac
      [c00000001398f890] [c000000000004790] hardware_interrupt_entry+0x18/0x1c
         Exception: 501 at .plpar_hcall_norets+0x24/0x94
          LR = .veth_pool_store+0x15c/0x298 [ibmveth]
      [c00000001398fb80] [d000000000250b2c] .veth_pool_store+0x5c/0x298 [ibmveth] (unreliable)
      [c00000001398fc30] [c000000000145530] .sysfs_write_file+0x140/0x1d8
      [c00000001398fcf0] [c0000000000de89c] .vfs_write+0x120/0x208
      [c00000001398fd90] [c0000000000df2c8] .sys_write+0x4c/0x8c
      [c00000001398fe30] [c0000000000086ac] syscall_exit+0x0/0x40
      Instruction dump:
      fba1ffe8 fbe1fff8 789d0022 f8010010 f821ff71 789c0020 1d3d00a8 7b8a1f24
      38000000 7c7f1b78 7d291a14 e9690128 <7c0a592a> e8030000 e9690120 80a90100
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      76b9cfcc
    • J
      Merge branch 'r8169-for-jeff-20070806' of... · c21723ed
      Jeff Garzik 提交于
      Merge branch 'r8169-for-jeff-20070806' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 into upstream-fixes
      c21723ed
    • J
      Merge branch 'fixes-jgarzik' of... · 9b7530c8
      Jeff Garzik 提交于
      Merge branch 'fixes-jgarzik' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
      9b7530c8
    • J
      Merge branch 'ucc_geth' of... · 0ae842ea
      Jeff Garzik 提交于
      Merge branch 'ucc_geth' of master.kernel.org:/pub/scm/linux/kernel/git/leo/fsl-soc into upstream-fixes
      0ae842ea
    • N
      sis190 check for ISA bridge on SiS966 · 8eb7ad68
      Neil Muller 提交于
      sis190 driver assumes to find ISA only on SiS965.
      similar fix is in sis900 driver, see bug report
      http://bugs.debian.org/435547Signed-off-by: Nmaximilian attems <max@stro.at>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      8eb7ad68
    • I
      atl1: use spin_trylock_irqsave() · 5845b677
      Ingo Molnar 提交于
      use the simpler spin_trylock_irqsave() API to get the adapter lock.
      
      [ this is also a fix for -rt where adapter->lock is a sleeping lock. ]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NJay Cliburn <jacliburn@bellsouth.net>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      5845b677
    • P
      net: smc91x: Build fixes for general sh boards. · 092ed997
      Paul Mundt 提交于
      SH boards in general only wire this up in 8 or 16-bit mode, and
      as we never had the wrappers for 32-bit mode defined, SMC_CAN_USE_32BIT
      caused build failure for the non-Solution Engine boards. This gets it
      building again.
      
      Also kill off the straggling set_irq_type() definition, this is left
      over cruft that was missed when the rest of it switched to IRQ flags.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      
      --
      
       drivers/net/smc91x.h |    4 +---
       1 file changed, 1 insertion(+), 3 deletions(-)
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      092ed997
  2. 07 8月, 2007 16 次提交
  3. 06 8月, 2007 3 次提交
  4. 05 8月, 2007 5 次提交
  5. 04 8月, 2007 9 次提交
    • S
      [SCSI] aacraid: prevent panic on adapter resource failure · 2b053729
      Salyzyn, Mark 提交于
      If the driver fails to allocate the contiguous (DMAable) memory for
      system reasons, we fail to load the instance, but then we try to free
      the <nul> allocation in the cleanup code and we get a panic in
      pci_free_consistent(). This is reported against an older kernel, hope
      this is relevant for latest/greatest.
      Signed-off-by: NMark Salyzyn <aacraid@adaptec.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      2b053729
    • B
      [SCSI] aha152x: use data accessors and !use_sg cleanup · 2338545a
      Boaz Harrosh 提交于
      And finally this is the regular !use_sg cleanup
      and use of data accessors.
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      2338545a
    • B
      [SCSI] aha152x: Fix check_condition code-path · 45333ffa
      Boaz Harrosh 提交于
      check_condition code-path was similar but more
      complicated to Reset. It went like this:
      
        1. extra space was allocated at aha152x_scdata for mirroring
          scsi_cmnd members.
        2. At aha152x_internal_queue() every not check_condition
          (REQUEST_SENSE) command was copied to above members in
          case of error.
        3. At busfree_run() in the DONE_CS phase if a Status of
          SAM_STAT_CHECK_CONDITION was detected. The command was
          re-queued Internally using aha152x_internal_queue(,,check_condition,)
          The old command members are over written with the
          REQUEST_SENSE info.
        4. At busfree_run() in the DONE_CS phase again. If it is a
          check_condition command, info was restored from mirror
          made at first call to aha152x_internal_queue() (see 2)
          and the command is completed.
      
      What I did is:
      
        1. Allocate less space in aha152x_scdata only for the 16-byte
          original command. (which is actually not needed by scsi-ml
          anymore at this stage. But this is to much knowledge of scsi-ml)
        2. If Status == SAM_STAT_CHECK_CONDITION, then like before
           re-queue a REQUEST_SENSE command. But only now save original
           command members. (Less of them)
        3. In aha152x_internal_queue(), just like for Reset, use the
          check_condition hint to set differently the working members.
          execute the command.
        4. At busfree_run() in the DONE_CS phase again. restore needed
           members.
      
      While at it. This patch fixes a BUG. Old code when sending
      a REQUEST_SENSE for a failed command. Would than return with
      cmd->resid == 0 which was the status of the REQUEST_SENSE.
      The failing command resid was lost. And when would resid
      be interesting if not on a failing command?
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      45333ffa
    • B
      [SCSI] aha152x: Clean Reset path · 66acdb03
      Boaz Harrosh 提交于
      What Reset code was doing:  Save command's important/dangerous
      Info on stack. NULL those members from scsi_cmnd.
      Issue a Reset. wait for it to finish than restore members
      and return.
      
      What I do is save or NULL nothing. But use the "resetting"
      hint in aha152x_internal_queue() to NULL out working members
      and leave struct scsi_cmnd alone.
      
      The indent here looks funny but it will change/drop in last
      patch and it is clear this way what changed.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      66acdb03
    • B
      [SCSI] aha152x: preliminary fixes and some comments · 0ceb4798
      Boaz Harrosh 提交于
        hunk by hunk:
        - CHECK_CONDITION is what happens to cmnd->status >> 1
          or after status_byte() macro. But here it is used
          directly on status which means 0x1 which is an undefined
          bit in the standard. And is a status that will never
          return from a target.
      
        - in busfree_run at the DONE_SC phase we have 3 distinct
          operation:
      	1-if(DONE_SC->SCp.phase & check_condition)
                The REQUEST_SENSE command return.
                - Restore original command
      	  - Than continue to operation 3.
      	2-if(DONE_SC->SCp.Status==SAM_STAT_CHECK_CONDITION)
                A regular command returned with a status.
      	  - Internally re-Q a REQUEST_SENSE.
      	  - Do not do operation 3.
      	3-
      	  - Complete the command and return it to scsi-ml
           So the 0x2 in both these operations (1,2) means the scsi
           check-condition status, hence SAM_STAT_CHECK_CONDITION
      
        - Here the code asks about !(DONE_SC->SCp.Status & not_issued)
          but "not_issued" is an enum belonging to the "phase" member
          and not to the Status returned from target. The reason this
          works is because not_issued==1 and Also CHECK_CONDITION==1
          (remember from hunk 1). So actually the code was asking
          !(DONE_SC->SCp.Status & CHECK_CONDITION). Which means
          "Has the status been read from target yet?"
          Staus is read at status_run(). "not_issued" is
          cleared in seldo_run() which is usually earlier than
          status_run().
      
        So this patch does nothing as far as assembly is concerned
        but it does let the reader understand what is going on.
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      0ceb4798
    • B
      [SCSI] aha152x: use bounce buffer · b1ee0795
      Boaz Harrosh 提交于
      Cause highmem buffers to be bounced to low memory until this
      driver supports highmem addresses.  Otherwise it just oopses
      on NULL buffer addresses.
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      b1ee0795
    • B
      [SCSI] aha152x: fix debug mode symbol conflict · 50535df3
      Boaz Harrosh 提交于
      The symbol <debug_locks> conflicts with the rather global one in
      include/linux/locks.h.
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      50535df3
    • J
      [SCSI] sd: disentangle barriers in SCSI · 03a5743a
      James Bottomley 提交于
      Our current implementation has a generic set of barrier functions that
      go through the SCSI driver model.  Realistically, this is unnecessary,
      because the only device that can use barriers (sd) can set the flush
      functions up at probe or revalidate time.  This patch pulls the barrier
      functions out of the mid layer and scsi driver model and relocates them
      directly in sd.
      Acked-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      03a5743a
    • M
      [BNX2]: Fix suspend/resume problem. · 6caebb02
      Michael Chan 提交于
      The device would not resume properly if it was shutdown before the system
      was suspended.  In such scenario where the netif_running state is 0,
      bnx2_suspend() would not save the PCI state and so the memory enable bit
      and bus master enable bit would be lost.
      
      We fix this by always saving and restoring the PCI state in
      bnx2_suspend() and bnx2_resume() regardless of netif_running() state.
      
      Update version to 1.6.4.
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6caebb02