From: Cesar Eduardo Barros Date: Tue, 4 Dec 2012 22:21:12 +0000 (-0200) Subject: usb: phy: mv-otg: use to_delayed_work instead of cast X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=63a1307930867a45f86a1a69f80315b2df7b7b49;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git usb: phy: mv-otg: use to_delayed_work instead of cast Directly casting a work_struct pointer to a delayed_work is risky if the work member of struct delayed_work is ever moved from being the first member. Instead, use the inline function to_delayed_work(), which does the same cast in a safer way (using container_of). Signed-off-by: Cesar Eduardo Barros Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/otg/mv_otg.c b/drivers/usb/otg/mv_otg.c index 1dd57504186d..5104bc2b67b3 100644 --- a/drivers/usb/otg/mv_otg.c +++ b/drivers/usb/otg/mv_otg.c @@ -420,7 +420,7 @@ static void mv_otg_work(struct work_struct *work) struct usb_otg *otg; int old_state; - mvotg = container_of((struct delayed_work *)work, struct mv_otg, work); + mvotg = container_of(to_delayed_work(work), struct mv_otg, work); run: /* work queue is single thread, or we need spin_lock to protect */