Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:pzskc383
kernel
linux-2.6.33-ahci-fix-oops-on-dummy-port.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File linux-2.6.33-ahci-fix-oops-on-dummy-port.patch of Package kernel
From: Yong Wang <yong.y.wang@intel.com> Date: Thu Mar 11 15:31:50 2010 +0800 Subject: [PATCH] ahci: Fix accounting oops on dummy port Not all ports are implemented in AHCI mode on some machines. If this is the case, it results in NULL pointer dereference when doing alpm accounting. Skip such dummy ports. Signed-off-by: Yong Wang <yong.y.wang@intel.com> --- drivers/ata/ahci.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -2283,8 +2283,8 @@ static ssize_t ahci_alpm_show_active(str struct ata_port *ap = ata_shost_to_port(shost); struct ahci_port_priv *pp; - if (!ap) - return; + if (!ap || ata_port_is_dummy(ap)) + return 0; pp = ap->private_data; account_alpm_stats(ap); @@ -2298,6 +2298,8 @@ static ssize_t ahci_alpm_show_partial(st struct ata_port *ap = ata_shost_to_port(shost); struct ahci_port_priv *pp = ap->private_data; + if (!ap || ata_port_is_dummy(ap)) + return 0; account_alpm_stats(ap); return sprintf(buf, "%u\n", jiffies_to_msecs(pp->partial_jiffies)); @@ -2310,6 +2312,8 @@ static ssize_t ahci_alpm_show_slumber(st struct ata_port *ap = ata_shost_to_port(shost); struct ahci_port_priv *pp = ap->private_data; + if (!ap || ata_port_is_dummy(ap)) + return 0; account_alpm_stats(ap); return sprintf(buf, "%u\n", jiffies_to_msecs(pp->slumber_jiffies)); @@ -2323,6 +2327,8 @@ static ssize_t ahci_alpm_show_accounting struct ata_port *ap = ata_shost_to_port(shost); struct ahci_port_priv *pp = ap->private_data; + if (!ap || ata_port_is_dummy(ap)) + return 0; return sprintf(buf, "%u\n", pp->accounting_active); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor