1. 28 May, 2006 1 commit
  2. 20 May, 2006 28 commits
  3. 10 May, 2006 6 commits
  4. 20 Apr, 2006 1 commit
  5. 15 Apr, 2006 1 commit
  6. 14 Apr, 2006 3 commits
    • Guennadi Liakhovetski's avatar
      [SCSI] dc395x: dynamically map scatter-gather for PIO · cdb8c2a6
      Guennadi Liakhovetski authored
      The current dc395x driver uses PIO to transfer up to 4 bytes which do not
      get transferred by DMA (under unclear circumstances). For this the driver
      uses page_address() which is broken on highmem. Apart from this the
      actual calculation of the virtual address is wrong (even without highmem).
      So, e.g., for reading it reads bytes from the driver to a wrong address
      and returns wrong data, I guess, for writing it would just output random
      data to the device.
      
      The proper fix, as suggested by many, is to dynamically map data using
      kmap_atomic(page, KM_BIO_SRC_IRQ) / kunmap_atomic(virt). The reason why it
      has not been done until now, although I've done some preliminary patches
      more than a year ago was that nobody interested in fixing this problem was
      able to reliably reproduce it. Now it changed - with the help from
      Sebastian Frei (CC'ed) I was able to trigger the PIO path. Thus, I was
      also able to test and debug it.
      
      There are 4 cases when PIO is used in dc395x - data-in / -out with and
      without scatter-gather. I was able to reproduce and test only data-in with
      and without SG. So, the data-out path is still untested, but it is also
      somewhat simpler than the data-in. Fredrik Roubert (also CC'ed) also had
      PIO triggering on his system, and in his case it was data-out without SG.
      It would be great if he could test the attached patch on his system, but
      even if he cannot, I would still request to apply the patch and just wait
      if anybody cries...
      
      Implementation: I put 2 new functions in scsi_lib.c and their declarations
      in scsi_cmnd.h. I exported them without _GPL, although, I don't feel
      strongly about that - not many drivers are likely to use them. But there
      is at least one more - I want to use them in tmscsim.c. Whether these are
      the right files for the functions and their declarations - not sure
      either. Actually, they are not scsi-specific, so, might go somewhere
      around other scattergather magic? They are not platform specific either,
      and most SG functions are defined under arch/*/... As these issues were
      discussed previously there were some more routines suggested to manipulate
      scattergather buffers, I think, some of them were needed around
      crypto code... So, might be a common place reasonable, like
      lib/scattergather.c? I am open here.
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      cdb8c2a6
    • FUJITA Tomonori's avatar
      [SCSI] ibmvscsi: convert kmalloc + memset to kcalloc · 4c021dd1
      FUJITA Tomonori authored
      Convert kmalloc + memset to kcalloc in ibmvscsi
      Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Acked-by: default avatarDave Boutcher <sleddog@us.ibm.com>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      4c021dd1
    • James Bottomley's avatar
      Merge ../scsi-rc-fixes-2.6 · 84d891d6
      James Bottomley authored
      Conflicts:
      
      	include/scsi/scsi_devinfo.h
      
      Same number for two BLIST flags:  BLIST_MAX_512 and BLIST_ATTACH_PQ3
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      84d891d6