09 Jan, 2016
1 commit
-
This adds the needed check after the call to the function
mraid_mm_alloc_kioc in order to make sure that this function has not
returned NULL and therefore makes sure we do not deference a NULL
pointer if one is returned by mraid_mm_alloc_kioc. Further more add
needed comments explaining that this function call can return NULL if
the list head is empty for the pointer passed in order to allow furture
users to understand this required pointer check.Signed-off-by: Nicholas Krause
Acked-by: Sumit Saxena
Signed-off-by: Martin K. Petersen
12 Nov, 2015
1 commit
-
SCSI queue for 4.4.
Signed-off-by: Martin K. Petersen
10 Nov, 2015
3 commits
-
This patch changes the !blk-mq path to the same defaults as the blk-mq
I/O path by always enabling block tagging, and always using host wide
tags. We've had blk-mq available for a few releases so bugs with
this mode should have been ironed out, and this ensures we get better
coverage of over tagging setup over different configs.Signed-off-by: Christoph Hellwig
Acked-by: Jens Axboe
Reviewed-by: Hannes Reinecke
Signed-off-by: James Bottomley -
Signed-off-by: Sumit Saxena
Signed-off-by: Martin K. Petersen -
The DELL PERC5 controller firmware does not list tape drives in response
to MR_DCMD_PD_LIST_QUERY. This causes tape drives not be exposed to the
OS when connected to a PERC5 controller.This patch permits detection of tape drives connected to a PERC5
controller by exposing non-TYPE_DISK devices unconditionally.Signed-off-by: Kashyap Desai
Signed-off-by: Sumit Saxena
Signed-off-by: Martin K. Petersen
03 Nov, 2015
3 commits
-
Signed-off-by: Sumit Saxena
Reviewed-by: Tomas Henzl
Signed-off-by: Martin K. Petersen -
Signed-off-by: Sumit Saxena
Reviewed-by: Tomas Henzl
Signed-off-by: Martin K. Petersen -
This is an issue on SMAP enabled CPUs and 32 bit apps running on 64 bit
OS. Do not access user memory from kernel code. The SMAP bit restricts
accessing user memory from kernel code.Cc:
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Tomas Henzl
Signed-off-by: Martin K. Petersen
29 Oct, 2015
19 commits
-
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Tomas Henzl
Signed-off-by: Martin K. Petersen -
It may happen (kdump), that an interrupt is invoked just after the
setup_irqs function was called but before the tasklet was initialised.
At this phase the hw ints should have been disabled, but for unknown
reason this mechanism seems to not work properly.From: Tomas Henzl
Signed-off-by: Tomas Henzl
Signed-off-by: Sumit Saxena
Signed-off-by: Martin K. Petersen -
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Tomas Henzl
Signed-off-by: Martin K. Petersen -
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Tomas Henzl
Reviewed-by: Martin K. Petersen
Signed-off-by: Martin K. Petersen -
Do not use PAGE_SIZE marco to calculate max_sectors per I/O
request. Driver code assumes PAGE_SIZE will be always 4096 which can
lead to wrongly calculated value if PAGE_SIZE is not 4096. This issue
was reported in Ubuntu Bugzilla Bug #1475166.Cc:
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Tomas Henzl
Reviewed-by: Martin K. Petersen
Signed-off-by: Martin K. Petersen -
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Tomas Henzl
Reviewed-by: Martin K. Petersen
Signed-off-by: Martin K. Petersen -
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Tomas Henzl
Reviewed-by: Martin K. Petersen
Signed-off-by: Martin K. Petersen -
Remove PCI id based checks and use instance->ctrl_context to decide
whether controller is MFI-based or a Fusion adapter. Additionally,
Fusion adapters are divided into two categories: Thunderbolt and
Invader.Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Tomas Henzl
Reviewed-by: Martin K. Petersen
Signed-off-by: Martin K. Petersen -
Expose non-disk (TAPE drive, CD-ROM) unconditionally.
Cc:
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Tomas Henzl
Reviewed-by: Martin K. Petersen
Signed-off-by: Martin K. Petersen -
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Martin K. Petersen
Signed-off-by: Martin K. Petersen -
Some of these code changes were proposed by David Binderman.
Removed redudant check of requestorId. Redundant condition:
instance.requestorId. Check for plasma firmware 1.11 are now
restructured to support only specific device id.Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Martin K. Petersen
Signed-off-by: Martin K. Petersen -
Syncro firmware supports round robin I/O switching on dual path. Driver
uses validHandles to check for dual path. However, it is supposed to
check for values > 1 (not > 2).Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Martin K. Petersen
Signed-off-by: Martin K. Petersen -
Print firmware events in human-readable form. This will help users track
any critical firmware events without special application support.Sample syslogd output:
megaraid_sas 0000:02:00.0: 8619 (491648347s/0x0020/WARN) - Controller temperature threshold exceeded. This may indicate inadequate system cooling. Switching to low performance mode.
The format of logged events is:
": (//) - "
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Martin K. Petersen
Signed-off-by: Martin K. Petersen -
Fix the issue reported at:
http://marc.info/?l=linux-scsi&m=143694494104544&w=2
Try to do chip reset at driver load time. If firmware fails to reach
ready state, try chip reset using adp_reset() callback. For Fusion
adapters the call back was previously void. Provide a suitable reset
function.Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Martin K. Petersen
Signed-off-by: Martin K. Petersen -
Driver will expose max sge = 256 (earlier it was 64) if firmware
supports extended IO size (1M).Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Martin Petersen
Signed-off-by: Martin K. Petersen -
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Martin Petersen
Signed-off-by: Martin K. Petersen -
Implemented JBOD map which will provide quick access for JBOD path and
also provide sequence number. This will help hardware to fail command
to the FW in case of any sequence mismatch.Fast Path I/O for JBOD will refer JBOD map (which has sequence number
per JBOD device) instead of RAID map. Previously, the driver used RAID
map to get device handle for fast path I/O and this not have sequence
number information. Now, driver will use JBOD map instead. As part of
error handling, if JBOD map is failed/not supported by firmware, driver
will continue using legacy behavior.Now there will be three IO paths for JBOD (syspd):
- JBOD map with sequence number (Fast Path)
- RAID map without sequence number (Fast Path)
- FW path via h/w exception queue deliberately setup devhandle
0xFFFF (FW path).Relevant data structures:
- Driver send new DCMD MR_DCMD_SYSTEM_PD_MAP_GET_INFO for this purpose.
- struct MR_PD_CFG_SEQ- This structure represent map of single physical
device.
- struct MR_PD_CFG_SEQ_NUM_SYNC- This structure represent whole JBOD
map in general(size, count of sysPDs configured, struct MR_PD_CFG_SEQ
of syspD with 0 index).
- JBOD sequence map size is: sizeof(struct MR_PD_CFG_SEQ_NUM_SYNC)
+ (sizeof(struct MR_PD_CFG_SEQ) * (MAX_PHYSICAL_DEVICES - 1)) which
is allocated while setting up JBOD map at driver load time.Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Martin Petersen
Signed-off-by: Martin K. Petersen -
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Martin Petersen
Signed-off-by: Martin K. Petersen -
Signed-off-by: Sumit Saxena
Signed-off-by: Kashyap Desai
Reviewed-by: Martin Petersen
Signed-off-by: Martin K. Petersen
26 Aug, 2015
2 commits
-
Fix whitespace and indentation errors. No code change.
[jejb: checkpatch fixes]
Signed-off-by: Bjorn Helgaas
Reviewed-by: Hannes Reinecke
Acked-by: Sumit Saxena
Signed-off-by: James Bottomley -
Use dev_printk() when possible to make messages more useful.
Signed-off-by: Bjorn Helgaas
Reviewed-by: Hannes Reinecke
Acked-by: Sumit Saxena
Signed-off-by: James Bottomley
24 Jun, 2015
3 commits
-
Pull SCSI updates from James Bottomley:
"This is the usual grab bag of driver updates (lpfc, hpsa,
megaraid_sas, cxgbi, be2iscsi) plus an assortment of minor updates.There is also one new driver: the Cisco snic. The advansys driver has
been rewritten to get rid of the warning about converting it to the
DMA API, the tape statistics patch got in and finally, there's a
resuffle of SCSI header files to separate more cleanly initiator from
target mode (and better share the common definitions)"* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (156 commits)
snic: driver for Cisco SCSI HBA
qla2xxx: Fix indentation
qla2xxx: Comment out unreachable code
fusion: remove dead MTRR code
advansys: fix compilation errors and warnings when CONFIG_PCI is not set
mptsas: fix depth param in scsi_track_queue_full
megaraid: fix irq setup process regression
lpfc: Update version to 10.7.0.0 for upstream patch set.
lpfc: Fix to drop PLOGIs from fabric node till LOGO processing completes
lpfc: Fix scsi task management error message.
lpfc: Fix cq_id masking problem.
lpfc: Fix scsi prep dma buf error.
lpfc: Add support for using block multi-queue
lpfc: Devices are not discovered during takeaway/giveback testing
lpfc: Fix vport deletion failure.
lpfc: Check for active portpeerbeacon.
lpfc: Update driver version for upstream patch set 10.6.0.1.
lpfc: Change buffer pool empty message to miscellaneous category
lpfc: Fix incorrect log message reported for empty FCF record.
lpfc: Fix rport leak.
... -
Pull power management and ACPI updates from Rafael Wysocki:
"The rework of backlight interface selection API from Hans de Goede
stands out from the number of commits and the number of affected
places perspective. The cpufreq core fixes from Viresh Kumar are
quite significant too as far as the number of commits goes and because
they should reduce CPU online/offline overhead quite a bit in the
majority of cases.From the new featues point of view, the ACPICA update (to upstream
revision 20150515) adding support for new ACPI 6 material to ACPICA is
the one that matters the most as some new significant features will be
based on it going forward. Also included is an update of the ACPI
device power management core to follow ACPI 6 (which in turn reflects
the Windows' device PM implementation), a PM core extension to support
wakeup interrupts in a more generic way and support for the ACPI _CCA
device configuration object.The rest is mostly fixes and cleanups all over and some documentation
updates, including new DT bindings for Operating Performance Points.There is one fix for a regression introduced in the 4.1 cycle, but it
adds quite a number of lines of code, it wasn't really ready before
Thursday and you were on vacation, so I refrained from pushing it on
the last minute for 4.1.Specifics:
- ACPICA update to upstream revision 20150515 including basic support
for ACPI 6 features: new ACPI tables introduced by ACPI 6 (STAO,
XENV, WPBT, NFIT, IORT), changes related to the other tables (DTRM,
FADT, LPIT, MADT), new predefined names (_BTH, _CR3, _DSD, _LPI,
_MTL, _PRR, _RDI, _RST, _TFP, _TSN), fixes and cleanups (Bob Moore,
Lv Zheng).- ACPI device power management core code update to follow ACPI 6
which reflects the ACPI device power management implementation in
Windows (Rafael J Wysocki).- rework of the backlight interface selection logic to reduce the
number of kernel command line options and improve the handling of
DMI quirks that may be involved in that and to make the code
generally more straightforward (Hans de Goede).- fixes for the ACPI Embedded Controller (EC) driver related to the
handling of EC transactions (Lv Zheng).- fix for a regression related to the ACPI resources management and
resulting from a recent change of ACPI initialization code ordering
(Rafael J Wysocki).- fix for a system initialization regression related to ACPI
introduced during the 3.14 cycle and caused by running the code
that switches the platform over to the ACPI mode too early in the
initialization sequence (Rafael J Wysocki).- support for the ACPI _CCA device configuration object related to
DMA cache coherence (Suravee Suthikulpanit).- ACPI/APEI fixes and cleanups (Jiri Kosina, Borislav Petkov).
- ACPI battery driver cleanups (Luis Henriques, Mathias Krause).
- ACPI processor driver cleanups (Hanjun Guo).
- cleanups and documentation update related to the ACPI device
properties interface based on _DSD (Rafael J Wysocki).- ACPI device power management fixes (Rafael J Wysocki).
- assorted cleanups related to ACPI (Dominik Brodowski, Fabian
Frederick, Lorenzo Pieralisi, Mathias Krause, Rafael J Wysocki).- fix for a long-standing issue causing General Protection Faults to
be generated occasionally on return to user space after resume from
ACPI-based suspend-to-RAM on 32-bit x86 (Ingo Molnar).- fix to make the suspend core code return -EBUSY consistently in all
cases when system suspend is aborted due to wakeup detection (Ruchi
Kandoi).- support for automated device wakeup IRQ handling allowing drivers
to make their PM support more starightforward (Tony Lindgren).- new tracepoints for suspend-to-idle tracing and rework of the
prepare/complete callbacks tracing in the PM core (Todd E Brandt,
Rafael J Wysocki).- wakeup sources framework enhancements (Jin Qian).
- new macro for noirq system PM callbacks (Grygorii Strashko).
- assorted cleanups related to system suspend (Rafael J Wysocki).
- cpuidle core cleanups to make the code more efficient (Rafael J
Wysocki).- powernv/pseries cpuidle driver update (Shilpasri G Bhat).
- cpufreq core fixes related to CPU online/offline that should reduce
the overhead of these operations quite a bit, unless the CPU in
question is physically going away (Viresh Kumar, Saravana Kannan).- serialization of cpufreq governor callbacks to avoid race
conditions in some cases (Viresh Kumar).- intel_pstate driver fixes and cleanups (Doug Smythies, Prarit
Bhargava, Joe Konno).- cpufreq driver (arm_big_little, cpufreq-dt, qoriq) updates (Sudeep
Holla, Felipe Balbi, Tang Yuantian).- assorted cleanups in cpufreq drivers and core (Shailendra Verma,
Fabian Frederick, Wang Long).- new Device Tree bindings for representing Operating Performance
Points (Viresh Kumar).- updates for the common clock operations support code in the PM core
(Rajendra Nayak, Geert Uytterhoeven).- PM domains core code update (Geert Uytterhoeven).
- Intel Knights Landing support for the RAPL (Running Average Power
Limit) power capping driver (Dasaratharaman Chandramouli).- fixes related to the floor frequency setting on Atom SoCs in the
RAPL power capping driver (Ajay Thomas).- runtime PM framework documentation update (Ben Dooks).
- cpupower tool fix (Herton R Krzesinski)"
* tag 'pm+acpi-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (194 commits)
cpuidle: powernv/pseries: Auto-promotion of snooze to deeper idle state
x86: Load __USER_DS into DS/ES after resume
PM / OPP: Add binding for 'opp-suspend'
PM / OPP: Allow multiple OPP tables to be passed via DT
PM / OPP: Add new bindings to address shortcomings of existing bindings
ACPI: Constify ACPI device IDs in documentation
ACPI / enumeration: Document the rules regarding the PRP0001 device ID
ACPI / video: Make acpi_video_unregister_backlight() private
acpi-video-detect: Remove old API
toshiba-acpi: Port to new backlight interface selection API
thinkpad-acpi: Port to new backlight interface selection API
sony-laptop: Port to new backlight interface selection API
samsung-laptop: Port to new backlight interface selection API
msi-wmi: Port to new backlight interface selection API
msi-laptop: Port to new backlight interface selection API
intel-oaktrail: Port to new backlight interface selection API
ideapad-laptop: Port to new backlight interface selection API
fujitsu-laptop: Port to new backlight interface selection API
eeepc-laptop: Port to new backlight interface selection API
dell-wmi: Port to new backlight interface selection API
... -
Pull trivial tree updates from Jiri Kosina:
"As usual, mostly comment, kerneldoc and printk() fixes"* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
lpfc: Grammar s/an negative/a negative/
ARM: lib/lib1funcs.S: fix typo s/substractions/subtractions/
cx25821: cx25821-medusa-reg.h: fix 0x0x prefix
lib: crc-itu-t.[ch] fix 0x0x prefix in integer constants
rapidio: Fix kerneldoc and comment
qla4xxx: Fix printk() in qla4_83xx_read_reset_template() and qla4_83xx_pre_loopback_config()
treewide: Kconfig: fix wording / spelling
usb/serial: fix grammar in Kconfig help text for FTDI_SIO
megaraid_sas: fix kerneldoc
netfilter: ebtables: fix comment grammar
drm/radeon: fix comment
isdn: fix grammar in comment
ARM: KVM: fix comment
15 Jun, 2015
1 commit
-
Signed-off-by: Suravee Suthikulpanit
Cc: Kashyap Desai
Cc: Sumit Saxena
Cc: Uday Lingala
Acked-by: Sumit Saxena
Signed-off-by: Rafael J. Wysocki
13 Jun, 2015
1 commit
-
This fixes a regression caused by commit
d3557fc8be11d25f316884581f487684f8e7dad3 megaraid_sas : Add separate function
for setting up IRQs This makes boot end with 'root does not exist' message on
certain adapters.The bug is that the driver does not setup ints for cards without msi-x
support. This patch fixes it, in addition to that it moves tasklet
initialisation before enable_intr, otherwise a kernel panic may occur, when an
interrupt arrives before the tasklet is ready.Signed-off-by: Tomas Henzl
Signed-off-by: Sumit Saxena
Signed-off-by: James Bottomley
01 Jun, 2015
1 commit
-
…oll() to consider command status returned by firmware
This patch is rebased on top of recently sent 18 patches(submitted by me) for
megaraid_sas driver.Change the return value of wait_and_poll() and megsas_issue_blocked_cmd()
based on MFI_STAT returned by firmware for that command. Earlier driver always
send return type based on command completion (but never check MFI_STAT_OK for
that command), so even if command is failed by firmware still driver will
return SUCCESS status from these functions wait_and_poll() and
megsas_issue_blocked_cmd() and if caller of these functions does not check
command status (MFI_STAT), then it may endup using invalid data returned in
DMA buffers(one of the example is megasas_ld_list_query DCMD). Best thing to
avoid this type of issue is do error handling and set proper return type from
caller function wait_and_poll() and megsas_issue_blocked_cmd().The change proposed in this patch will fix the regression introduced in patch-
"90dc9d9 megaraid_sas : MFI MPT linked list corruption fix" inside function
megasas_ld_list_query(). Prior to this MFI MPT linked list corruption fix
patch, megasas_ld_list_query() function used to check DCMD status(returned by
firmware) but with this linked list corruption fix patch, DCMD status will not
be checked inside function megasas_ld_list_query() and introduced this issue
of wrong data being used by function megasas_ld_list_query().Cc: <stable@vger.kernel.org>
Signed-off-by: Kashyap Desai <kashyap.desai@avagotech.com>
Signed-off-by: Sumit Saxena <sumit.saxena@avagotech.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
26 May, 2015
1 commit
-
Fix typo in kerneldoc identifier.
Signed-off-by: Geert Uytterhoeven
Acked-by: Sumit Saxena
Cc: James E.J. Bottomley
Signed-off-by: Jiri Kosina
25 May, 2015
4 commits
-
Swap the whole 32 bits we read from the hardware instead of swapping
just the 16bits we care about in place later.Signed-off-by: Christoph Hellwig
Signed-off-by: Sumit Saxena
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
Signed-off-by: James Bottomley -
The fusion HBAs don't really use the instance template like the other
variants, as it branches off at a much higher level. So instead of
trying to squeeze megasas_fire_cmd_fusion into the wrong calling
convention call it locally with argument data types that match what
is passed.[jejb: fix up 32 bit compile failure]
Signed-off-by: Christoph Hellwig
Signed-off-by: Sumit Saxena
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
Signed-off-by: James Bottomley -
Signed-off-by: Christoph Hellwig
Signed-off-by: Sumit Saxena
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
Signed-off-by: James Bottomley -
Signed-off-by: Christoph Hellwig
Signed-off-by: Sumit Saxena
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
Signed-off-by: James Bottomley