added iounmap inorder to free memory mapped to base before returning
Signed-off-by: Saurabh Sengar <[email protected]>
---
drivers/usb/host/pci-quirks.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
index f940056..332f687 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -990,7 +990,7 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
/* We're reading garbage from the controller */
dev_warn(&pdev->dev,
"xHCI controller failing to respond");
- return;
+ goto iounmap;
}
if (!ext_cap_offset)
@@ -1061,7 +1061,7 @@ hc_init:
"xHCI HW did not halt within %d usec status = 0x%x\n",
XHCI_MAX_HALT_USEC, val);
}
-
+iounmap:
iounmap(base);
}
--
1.9.1
pinging in case this patch is lost.
On 6 November 2015 at 17:46, Saurabh Sengar <[email protected]> wrote:
> added iounmap inorder to free memory mapped to base before returning
>
> Signed-off-by: Saurabh Sengar <[email protected]>
> ---
> drivers/usb/host/pci-quirks.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
> index f940056..332f687 100644
> --- a/drivers/usb/host/pci-quirks.c
> +++ b/drivers/usb/host/pci-quirks.c
> @@ -990,7 +990,7 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
> /* We're reading garbage from the controller */
> dev_warn(&pdev->dev,
> "xHCI controller failing to respond");
> - return;
> + goto iounmap;
> }
>
> if (!ext_cap_offset)
> @@ -1061,7 +1061,7 @@ hc_init:
> "xHCI HW did not halt within %d usec status = 0x%x\n",
> XHCI_MAX_HALT_USEC, val);
> }
> -
> +iounmap:
> iounmap(base);
> }
>
> --
> 1.9.1
>
On 30.11.2015 08:28, Saurabh Sengar wrote:
> pinging in case this patch is lost.
>
>
> On 6 November 2015 at 17:46, Saurabh Sengar <[email protected]> wrote:
>> added iounmap inorder to free memory mapped to base before returning
>>
>> Signed-off-by: Saurabh Sengar <[email protected]>
>> ---
>> drivers/usb/host/pci-quirks.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
>> index f940056..332f687 100644
>> --- a/drivers/usb/host/pci-quirks.c
>> +++ b/drivers/usb/host/pci-quirks.c
>> @@ -990,7 +990,7 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
>> /* We're reading garbage from the controller */
>> dev_warn(&pdev->dev,
>> "xHCI controller failing to respond");
>> - return;
>> + goto iounmap;
>> }
>>
>> if (!ext_cap_offset)
>> @@ -1061,7 +1061,7 @@ hc_init:
>> "xHCI HW did not halt within %d usec status = 0x%x\n",
>> XHCI_MAX_HALT_USEC, val);
>> }
>> -
>> +iounmap:
>> iounmap(base);
>> }
>>
>> --
>> 1.9.1
>>
Thanks, I'll add it send it forward soon
-Mathias
On Fri, Nov 06, 2015 at 05:46:30PM +0530, Saurabh Sengar wrote:
> added iounmap inorder to free memory mapped to base before returning
>
> Signed-off-by: Saurabh Sengar <[email protected]>
> ---
> drivers/usb/host/pci-quirks.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
> index f940056..332f687 100644
> --- a/drivers/usb/host/pci-quirks.c
> +++ b/drivers/usb/host/pci-quirks.c
> @@ -990,7 +990,7 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
> /* We're reading garbage from the controller */
> dev_warn(&pdev->dev,
> "xHCI controller failing to respond");
> - return;
> + goto iounmap;
> }
>
> if (!ext_cap_offset)
> @@ -1061,7 +1061,7 @@ hc_init:
> "xHCI HW did not halt within %d usec status = 0x%x\n",
> XHCI_MAX_HALT_USEC, val);
> }
> -
> +iounmap:
> iounmap(base);
> }
>
Does not apply to the tree :(
On 2 December 2015 at 04:05, Greg KH <[email protected]> wrote:
> On Fri, Nov 06, 2015 at 05:46:30PM +0530, Saurabh Sengar wrote:
>> added iounmap inorder to free memory mapped to base before returning
>>
>> Signed-off-by: Saurabh Sengar <[email protected]>
>> ---
>> drivers/usb/host/pci-quirks.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
>> index f940056..332f687 100644
>> --- a/drivers/usb/host/pci-quirks.c
>> +++ b/drivers/usb/host/pci-quirks.c
>> @@ -990,7 +990,7 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
>> /* We're reading garbage from the controller */
>> dev_warn(&pdev->dev,
>> "xHCI controller failing to respond");
>> - return;
>> + goto iounmap;
>> }
>>
>> if (!ext_cap_offset)
>> @@ -1061,7 +1061,7 @@ hc_init:
>> "xHCI HW did not halt within %d usec status = 0x%x\n",
>> XHCI_MAX_HALT_USEC, val);
>> }
>> -
>> +iounmap:
>> iounmap(base);
>> }
>>
>
> Does not apply to the tree :(
This patch applies fine on top of
"git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git".
Just now only I have re-verified.
Am I expected to send this patch on top of some other git tree/branch ?
On Wed, Dec 02, 2015 at 09:08:06AM +0530, Saurabh Sengar wrote:
> On 2 December 2015 at 04:05, Greg KH <[email protected]> wrote:
> > On Fri, Nov 06, 2015 at 05:46:30PM +0530, Saurabh Sengar wrote:
> >> added iounmap inorder to free memory mapped to base before returning
> >>
> >> Signed-off-by: Saurabh Sengar <[email protected]>
> >> ---
> >> drivers/usb/host/pci-quirks.c | 4 ++--
> >> 1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
> >> index f940056..332f687 100644
> >> --- a/drivers/usb/host/pci-quirks.c
> >> +++ b/drivers/usb/host/pci-quirks.c
> >> @@ -990,7 +990,7 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
> >> /* We're reading garbage from the controller */
> >> dev_warn(&pdev->dev,
> >> "xHCI controller failing to respond");
> >> - return;
> >> + goto iounmap;
> >> }
> >>
> >> if (!ext_cap_offset)
> >> @@ -1061,7 +1061,7 @@ hc_init:
> >> "xHCI HW did not halt within %d usec status = 0x%x\n",
> >> XHCI_MAX_HALT_USEC, val);
> >> }
> >> -
> >> +iounmap:
> >> iounmap(base);
> >> }
> >>
> >
> > Does not apply to the tree :(
>
>
> This patch applies fine on top of
> "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git".
> Just now only I have re-verified.
> Am I expected to send this patch on top of some other git tree/branch ?
It will end up going in the usb.git tree, on the usb-next branch, and it
conflicts with other xhci patches that just landed there ahead of yours.
So it's not your fault, you did the right thing, just others also did
work here so you need to redo yours as well, a normal thing in kernel
development :)
hope this helps explain things.
thanks,
greg k-h
Hi Greg,
I am little unclear.
Now, shall I resend my patch on top of usb.git tree or linux.git tree.
Regards,
Saurabh
On 2 December 2015 at 21:15, Greg KH <[email protected]> wrote:
> On Wed, Dec 02, 2015 at 09:08:06AM +0530, Saurabh Sengar wrote:
>> On 2 December 2015 at 04:05, Greg KH <[email protected]> wrote:
>> > On Fri, Nov 06, 2015 at 05:46:30PM +0530, Saurabh Sengar wrote:
>> >> added iounmap inorder to free memory mapped to base before returning
>> >>
>> >> Signed-off-by: Saurabh Sengar <[email protected]>
>> >> ---
>> >> drivers/usb/host/pci-quirks.c | 4 ++--
>> >> 1 file changed, 2 insertions(+), 2 deletions(-)
>> >>
>> >> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
>> >> index f940056..332f687 100644
>> >> --- a/drivers/usb/host/pci-quirks.c
>> >> +++ b/drivers/usb/host/pci-quirks.c
>> >> @@ -990,7 +990,7 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
>> >> /* We're reading garbage from the controller */
>> >> dev_warn(&pdev->dev,
>> >> "xHCI controller failing to respond");
>> >> - return;
>> >> + goto iounmap;
>> >> }
>> >>
>> >> if (!ext_cap_offset)
>> >> @@ -1061,7 +1061,7 @@ hc_init:
>> >> "xHCI HW did not halt within %d usec status = 0x%x\n",
>> >> XHCI_MAX_HALT_USEC, val);
>> >> }
>> >> -
>> >> +iounmap:
>> >> iounmap(base);
>> >> }
>> >>
>> >
>> > Does not apply to the tree :(
>>
>>
>> This patch applies fine on top of
>> "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git".
>> Just now only I have re-verified.
>> Am I expected to send this patch on top of some other git tree/branch ?
>
> It will end up going in the usb.git tree, on the usb-next branch, and it
> conflicts with other xhci patches that just landed there ahead of yours.
> So it's not your fault, you did the right thing, just others also did
> work here so you need to redo yours as well, a normal thing in kernel
> development :)
>
> hope this helps explain things.
>
> thanks,
>
> greg k-h
On Wed, Dec 02, 2015 at 09:25:53PM +0530, Saurabh Sengar wrote:
> Hi Greg,
>
> I am little unclear.
> Now, shall I resend my patch on top of usb.git tree or linux.git tree.
The usb-next branch of the usb.git tree please.
added iounmap inorder to free memory mapped to base before returning
Signed-off-by: Saurabh Sengar <[email protected]>
---
v2: changed logic a bit, because of recent patches pushed to usb-next
drivers/usb/host/pci-quirks.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
index 26cb8c8..2ac198c 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -992,7 +992,7 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
if ((ext_cap_offset + sizeof(val)) > len) {
/* We're reading garbage from the controller */
dev_warn(&pdev->dev, "xHCI controller failing to respond");
- return;
+ goto hc_init;
}
val = readl(base + ext_cap_offset);
--
1.9.1
On Wed, Dec 02, 2015 at 10:51:37PM +0530, Saurabh Sengar wrote:
> added iounmap inorder to free memory mapped to base before returning
>
> Signed-off-by: Saurabh Sengar <[email protected]>
> ---
> v2: changed logic a bit, because of recent patches pushed to usb-next
> drivers/usb/host/pci-quirks.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
> index 26cb8c8..2ac198c 100644
> --- a/drivers/usb/host/pci-quirks.c
> +++ b/drivers/usb/host/pci-quirks.c
> @@ -992,7 +992,7 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
> if ((ext_cap_offset + sizeof(val)) > len) {
> /* We're reading garbage from the controller */
> dev_warn(&pdev->dev, "xHCI controller failing to respond");
> - return;
> + goto hc_init;
Are you sure this is correct? That goto location then does a whole
bunch of things with the xhci controller that you just now determined is
failing to respond. I can't take this as-is, sorry.
greg k-h
On 4 December 2015 at 21:53, Greg KH <[email protected]> wrote:
> On Wed, Dec 02, 2015 at 10:51:37PM +0530, Saurabh Sengar wrote:
>> added iounmap inorder to free memory mapped to base before returning
>>
>> Signed-off-by: Saurabh Sengar <[email protected]>
>> ---
>> v2: changed logic a bit, because of recent patches pushed to usb-next
>> drivers/usb/host/pci-quirks.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
>> index 26cb8c8..2ac198c 100644
>> --- a/drivers/usb/host/pci-quirks.c
>> +++ b/drivers/usb/host/pci-quirks.c
>> @@ -992,7 +992,7 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
>> if ((ext_cap_offset + sizeof(val)) > len) {
>> /* We're reading garbage from the controller */
>> dev_warn(&pdev->dev, "xHCI controller failing to respond");
>> - return;
>> + goto hc_init;
>
> Are you sure this is correct? That goto location then does a whole
> bunch of things with the xhci controller that you just now determined is
> failing to respond. I can't take this as-is, sorry.
>
> greg k-h
Yes I agree, and in the first patch I didn't do this way.
But the latest patch which got introduced is doing "goto hc_init" at line 990
ext_cap_offset = xhci_find_next_ext_cap(base, 0, XHCI_EXT_CAPS_LEGACY);
if (!ext_cap_offset)
goto hc_init;
I think this is wrong too, may be I am wrong.
Any way I will send the first patch again on top of usb-next as v3
added iounmap inorder to free memory mapped to base before returning
Signed-off-by: Saurabh Sengar <[email protected]>
---
v3: reverted to v1 logic, on top of usb-next branch
drivers/usb/host/pci-quirks.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
index 26cb8c8..35af362 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -992,7 +992,7 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
if ((ext_cap_offset + sizeof(val)) > len) {
/* We're reading garbage from the controller */
dev_warn(&pdev->dev, "xHCI controller failing to respond");
- return;
+ goto iounmap;
}
val = readl(base + ext_cap_offset);
@@ -1055,6 +1055,7 @@ hc_init:
XHCI_MAX_HALT_USEC, val);
}
+iounmap:
iounmap(base);
}
--
1.9.1