diff mbox

[v5,10/11] pci core: assert ENOSPC when add capability

Message ID 1462508442-9407-11-git-send-email-caoj.fnst@cn.fujitsu.com
State New
Headers show

Commit Message

Cao jin May 6, 2016, 4:20 a.m. UTC
ENOSPC is programming error, assert it for debugging.

cc: Michael S. Tsirkin <mst@redhat.com>
cc: Marcel Apfelbaum <marcel@redhat.com>
cc: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
---
 hw/pci/pci.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Marcel Apfelbaum May 15, 2016, 1:10 p.m. UTC | #1
On 05/06/2016 07:20 AM, Cao jin wrote:
> ENOSPC is programming error, assert it for debugging.
>
> cc: Michael S. Tsirkin <mst@redhat.com>
> cc: Marcel Apfelbaum <marcel@redhat.com>
> cc: Markus Armbruster <armbru@redhat.com>
> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> ---
>   hw/pci/pci.c | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index f0f41dc..fc8b377 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -2151,10 +2151,8 @@ int pci_add_capability2(PCIDevice *pdev, uint8_t cap_id,
>
>       if (!offset) {
>           offset = pci_find_space(pdev, size);
> -        if (!offset) {
> -            error_setg(errp, "out of PCI config space");
> -            return -ENOSPC;
> -        }
> +        /* out of PCI config space should be programming error */

'is', not 'should be'

> +        assert(offset);
>       } else {
>           /* Verify that capabilities don't overlap.  Note: device assignment
>            * depends on this check to verify that the device is not broken.
>

Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>

Thanks,
Marcel
Cao jin May 17, 2016, 3 a.m. UTC | #2
On 05/15/2016 09:10 PM, Marcel Apfelbaum wrote:
> On 05/06/2016 07:20 AM, Cao jin wrote:
>> ENOSPC is programming error, assert it for debugging.
>>

>> +        /* out of PCI config space should be programming error */
>
> 'is', not 'should be'

Will fix it. Thank You, Marcel.
I guess I should put this one as the 1st patch in the series, and remove 
the "ENOSPC" line in the comment of msi_init(), sorry for this stupid fault
diff mbox

Patch

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index f0f41dc..fc8b377 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -2151,10 +2151,8 @@  int pci_add_capability2(PCIDevice *pdev, uint8_t cap_id,
 
     if (!offset) {
         offset = pci_find_space(pdev, size);
-        if (!offset) {
-            error_setg(errp, "out of PCI config space");
-            return -ENOSPC;
-        }
+        /* out of PCI config space should be programming error */
+        assert(offset);
     } else {
         /* Verify that capabilities don't overlap.  Note: device assignment
          * depends on this check to verify that the device is not broken.