Thread (50 messages) 50 messages, 7 authors, 2015-10-20

Re: [PATCH 13/25] scsi: hisi_sas: add path from phyup irq to SAS framework

From: Arnd Bergmann <arnd@arndb.de>
Date: 2015-10-16 12:56:13
Also in: linux-scsi, lkml

On Monday 12 October 2015 23:20:25 John Garry wrote:
quoted hunk ↗ jump to hunk
@@ -804,6 +818,16 @@ static irqreturn_t int_phyup_v1_hw(int irq_no, void *p)
                phy->identify.target_port_protocols =
                        SAS_PROTOCOL_SMP;
 
+       wq = kmalloc(sizeof(*wq), GFP_ATOMIC);
+       if (!wq)
+               goto end;
+
+       wq->event = PHYUP;
+       wq->hisi_hba = hisi_hba;
+       wq->phy_no = phy_no;
+
+       INIT_WORK(&wq->work_struct, hisi_sas_wq_process);
+       queue_work(hisi_hba->wq, &wq->work_struct);
 
 end:
        hisi_sas_phy_write32(hisi_hba, phy_no, CHL_INT2,
While rereading some other parts of the code, I stumbled over this piece.
You should generally not allocate work structs dynamically. Why not embed
the work struct inside of the phy structure and then just queue that?

	Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help