Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-elphel
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
linux-elphel
Commits
4ceccdd7
Commit
4ceccdd7
authored
Sep 23, 2019
by
Oleg Dzhimiev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated and moved to a patch to make it easier to updated next time
parent
56aba286
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
48 additions
and
4220 deletions
+48
-4220
libata-eh.c
src/drivers/ata/libata-eh.c
+0
-4220
libata-eh.c.patch
src/patches/libata-eh.c.patch
+48
-0
No files found.
src/drivers/ata/libata-eh.c
deleted
100644 → 0
View file @
56aba286
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/patches/libata-eh.c.patch
0 → 100644
View file @
4ceccdd7
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 01306c0..d7e47ae 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -919,7 +919,7 @@ static void ata_eh_set_pending(struct ata_port *ap, int fastdrain)
void ata_qc_schedule_eh(struct ata_queued_cmd *qc)
{
struct ata_port *ap = qc->ap;
- struct request_queue *q = qc->scsicmd->device->request_queue;
+ struct request_queue *q;
unsigned long flags;
WARN_ON(!ap->ops->error_handler);
@@ -932,9 +932,12 @@ void ata_qc_schedule_eh(struct ata_queued_cmd *qc)
* Note that ATA_QCFLAG_FAILED is unconditionally set after
* this function completes.
*/
- spin_lock_irqsave(q->queue_lock, flags);
- blk_abort_request(qc->scsicmd->request);
- spin_unlock_irqrestore(q->queue_lock, flags);
+ if (qc->scsicmd != NULL) {
+ q = qc->scsicmd->device->request_queue;
+ spin_lock_irqsave(q->queue_lock, flags);
+ blk_abort_request(qc->scsicmd->request);
+ spin_unlock_irqrestore(q->queue_lock, flags);
+ }
}
/**
@@ -2426,6 +2429,8 @@ EXPORT_SYMBOL_GPL(ata_get_cmd_descript);
* LOCKING:
* None.
*/
+int enable_panic = 0;
+EXPORT_SYMBOL_GPL(enable_panic);
static void ata_eh_link_report(struct ata_link *link)
{
struct ata_port *ap = link->ap;
@@ -2481,6 +2486,9 @@ static void ata_eh_link_report(struct ata_link *link)
ata_link_err(link, "%s\n", desc);
}
+ if (enable_panic)
+ BUG();
+
#ifdef CONFIG_ATA_VERBOSE_ERROR
if (ehc->i.serror)
ata_link_err(link,
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment