Using different completion variables to synchronize different kernel threads
This patch fix a bug that may cause memory leak when driver
disconnected. This is not a very urgent bug. Because with the default
setting, driver disconnectting routine won't be called except when Linux
is shut down. But if the option auto_delink_en is set, a small number of
memory would leak out after memory card unplugged.
Signed-off-by: wwang <wei_wang@realsil.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
cppcheck reported: [staging/rts_pstor/sd.c:3730] -> [staging/rts_pstor/sd.c:3726]: (style) Found duplicate if expressions.
It's a miswriting, and the second if expression should be "(rsp_type == SD_RSP_TYPE_R0)"
Signed-off-by: wwang <wei_wang@realsil.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
1. Don't switch bus if cmd14 timedout
2. Add a new group of return codes for mmc_test_switch_bus
Signed-off-by: wwang <wei_wang@realsil.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
It was pointed out by 'make versioncheck' that include of
linux/version.h is not needed in drivers/staging/rts_pstor/rtsx.h
This patch removes it.
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Looks like a typo.
Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (970 commits)
staging: usbip: replace usbip_u{dbg,err,info} and printk with dev_ and pr_
staging:iio: Trivial kconfig reorganization and uniformity improvements.
staging:iio:documenation partial update.
staging:iio: use pollfunc allocation helpers in remaining drivers.
staging:iio:max1363 misc cleanups and use of for_each_bit_set to simplify event code spitting out.
staging:iio: implement an iio_info structure to take some of the constant elements out of iio_dev.
staging:iio:meter:ade7758: Use private data space from iio_allocate_device
staging:iio:accel:lis3l02dq make write_reg_8 take value not a pointer to value.
staging:iio: ring core cleanups + check if read_last available in lis3l02dq
staging:iio:core cleanup: squash tiny wrappers and use dev_set_name to handle creation of event interface name.
staging:iio: poll func allocation clean up.
staging:iio:ad7780 trivial unused header cleanup.
staging:iio:adc: AD7780: Use private data space from iio_allocate_device + trivial fixes
staging:iio:adc:AD7780: Convert to new channel registration method
staging:iio:adc: AD7606: Drop dev_data in favour of iio_priv()
staging:iio:adc: AD7606: Consitently use indio_dev
staging:iio: Rip out helper for software rings.
staging:iio:adc:AD7298: Use private data space from iio_allocate_device
staging:iio: rationalization of different buffer implementation hooks.
staging:iio:imu:adis16400 avoid allocating rx, tx, and state separately from iio_dev.
...
Fix up trivial conflicts in
- drivers/staging/intel_sst/intelmid.c: patches applied in both branches
- drivers/staging/rt2860/common/cmm_data_{pci,usb}.c: removed vs spelling
- drivers/staging/usbip/vhci_sysfs.c: trivial header file inclusion
RealTek PCI-E Card Reader rts_pstor driver causes CPU wakeup very
frequently, thatt's bad for power consumption.
Signed-off-by: Cho, Yu-Chen <acho@novell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This patch fixes a number of the following warnings:
warning: "CONFIG_RTS_PSTOR_DEBUG" is not defined
The code uses '#if CONFIG_RTS_PSTOR_DEBUG' when it should be using '#ifdef'
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
There are a few files in the rts_pstor driver that use vmalloc/vfree without
including the header for it.
This patch adds <linux/vmalloc.h> to those files.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Replace rtsx_alloc_dma_buf() with kfree() back,
chip parameter is not used; remove casts.
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
In sony notebook, card reader will be configured as two-lun mode
through EFUSE. In this situation, MS card can't be recognized
properly because driver does only support single-lun mode in default.
In this patch, lun_mode is set in a different place, so driver can
detect the EFUSE configuation automatically.
Signed-off-by: wwang <wei_wang@realsil.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
1, Initialize chip->ms_power_class_en in rtsx_init_options;
2, In reset_ms_pro, set different initial value of change_power_class
according to chip->ms_power_class_en.
Signed-off-by: wwang <wei_wang@realsil.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Use kzalloc rather than kmalloc followed by memset with 0.
Found by coccinelle.
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
A greenhouse sd card can't be recognized using rts5209.
To fix this bug, these modifications are applied:
1, Move some codes which clear sd internal variables from sd_init_type to
sd_prepare_reset. So sd_init_type is useless any more and is removed
entirely;
2, If a sd card can't pass sd3.0 mode, the action of tunning phase should be
avoided when retrying sd2.0 mode.
Signed-off-by: wwang <wei_wang@realsil.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Add static modifier before some functions and global variables.
Signed-off-by: wwang <wei_wang@realsil.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Delete a function named rtsx_transfer_sglist which won't be called.
Signed-off-by: wwang <wei_wang@realsil.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
We read one space past the end of the buffer because we add 1.
Also I changed it to use ARRAY_SIZE() instead of manually calculating
the size.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Fixed all brace coding style issues in the following files:
drivers/staging/rts_pstor/rtsx_card.h
drivers/staging/rts_pstor/spi.c
drivers/staging/rts_pstor/trace.h
drivers/staging/rts_pstor/xd.c
Signed-off-by: Timo von Holtz <tvh@informatik.uni-kiel.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Fix multiple rts_pstor build errors.
When CONFIG_PCI is not enabled:
drivers/staging/rts_pstor/rtsx.c: In function 'rtsx_acquire_irq':
drivers/staging/rts_pstor/rtsx.c:324: error: implicit declaration of function 'pci_intx'
drivers/staging/rts_pstor/rtsx.c: In function 'rtsx_read_pci_cfg_byte':
drivers/staging/rts_pstor/rtsx.c:336: error: implicit declaration of function 'pci_get_domain_bus_and_slot'
drivers/staging/rts_pstor/rtsx.c:336: warning: assignment makes pointer from integer without a cast
drivers/staging/rts_pstor/rtsx.c: In function 'rtsx_shutdown':
drivers/staging/rts_pstor/rtsx.c:462: error: implicit declaration of function 'pci_disable_msi'
drivers/staging/rts_pstor/rtsx.c: In function 'rtsx_probe':
drivers/staging/rts_pstor/rtsx.c:981: error: implicit declaration of function 'pci_enable_msi'
When CONFIG_SCSI is not enabled:
In file included from drivers/staging/rts_pstor/rtsx.h:45,
from drivers/staging/rts_pstor/rtsx.c:28:
include/scsi/scsi_cmnd.h:27:25: warning: "BLK_MAX_CDB" is not defined
include/scsi/scsi_cmnd.h:28:3: error: #error MAX_COMMAND_SIZE can not be bigger than BLK_MAX_CDB
In file included from drivers/staging/rts_pstor/rtsx.h:45,
from drivers/staging/rts_pstor/rtsx.c:28:
include/scsi/scsi_cmnd.h: In function 'scsi_bidi_cmnd':
include/scsi/scsi_cmnd.h:184: error: implicit declaration of function 'blk_bidi_rq'
include/scsi/scsi_cmnd.h:185: error: dereferencing pointer to incomplete type
include/scsi/scsi_cmnd.h: In function 'scsi_in':
include/scsi/scsi_cmnd.h:191: error: dereferencing pointer to incomplete type
include/scsi/scsi_cmnd.h: In function 'scsi_get_lba': CC drivers/gpu/drm/nouveau/nv04_tv.o
include/scsi/scsi_cmnd.h:269: error: implicit declaration of function 'blk_rq_pos'
In file included from drivers/staging/rts_pstor/rtsx.h:48,
from drivers/staging/rts_pstor/rtsx.c:28:
include/scsi/scsi_eh.h: At top level:
include/scsi/scsi_eh.h:84: error: 'BLK_MAX_CDB' undeclared here (not in a function)
drivers/staging/rts_pstor/rtsx.c: In function 'slave_configure':
drivers/staging/rts_pstor/rtsx.c:107: error: implicit declaration of function 'blk_queue_dma_alignment'
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: wei_wang@realsil.com.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
rts_pstor is used to support Realtek PCI-E card readers,
including rts5209, rts5208, Barossa.
Signed-off-by: wwang <wei_wang@realsil.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>