Hello community, here is the log from the commit of package ipxe for openSUSE:Factory checked in at 2019-10-27 13:40:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ipxe (Old) and /work/SRC/openSUSE:Factory/.ipxe.new.2990 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ipxe" Sun Oct 27 13:40:48 2019 rev:7 rq:742973 version:1.0.0+git20190929.3fe683eb Changes: -------- --- /work/SRC/openSUSE:Factory/ipxe/ipxe.changes 2019-09-13 15:03:29.785279975 +0200 +++ /work/SRC/openSUSE:Factory/.ipxe.new.2990/ipxe.changes 2019-10-27 13:41:01.417267677 +0100 @@ -1,0 +2,22 @@ +Fri Oct 25 12:34:08 UTC 2019 - Alberto Planas Dominguez <[email protected]> + +- Update cross compiler to GCC 9 +- Change the git address from _service to use HTTPS +- Replace %doc to %license + +------------------------------------------------------------------- +Fri Oct 25 12:28:49 UTC 2019 - [email protected] + +- Update to version 1.0.0+git20190929.3fe683eb: + * [lan78xx] Always enable automatic speed and duplex detection + * [efi] Do not attempt EFI_USB_IO_PROTOCOL transfers during shutdown + * [efi] Report failed control transfers as expected by the USB core + * [golan] Fix address-of-pointer bug for multicast attach/detach + * [ethernet] Avoid false positive Coverity warning + * [coverity] Override assumptions about wcrtomb() and hmac_init() + * [crypto] Profile the various stages of modular multiplication + * [crypto] Drag in configured digestInfo prefixes for any use of RSA + * [tls] Add missing call to tls_tx_resume() when restarting negotiation + * [peerdist] Limit number of concurrent raw block downloads + +------------------------------------------------------------------- Old: ---- ipxe-1.0.0+git20190817.0b3000bb.tar.gz New: ---- _servicedata ipxe-1.0.0+git20190929.3fe683eb.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ipxe.spec ++++++ --- /var/tmp/diff_new_pack.SDZbdh/_old 2019-10-27 13:41:02.553269047 +0100 +++ /var/tmp/diff_new_pack.SDZbdh/_new 2019-10-27 13:41:02.557269052 +0100 @@ -1,7 +1,7 @@ # # spec file for package ipxe # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,12 +12,12 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: ipxe -Version: 1.0.0+git20190817.0b3000bb +Version: 1.0.0+git20190929.3fe683eb Release: 0 Summary: A Network Boot Firmware License: GPL-2.0-only @@ -30,7 +30,7 @@ %if 0%{?sle_version} >= 150000 && 0%{?sle_version} < 159999 BuildRequires: cross-aarch64-gcc7 %else -BuildRequires: cross-aarch64-gcc8 +BuildRequires: cross-aarch64-gcc9 %endif %endif BuildRequires: perl @@ -110,6 +110,6 @@ %{_datadir}/%{name}/snp-arm64.efi %endif %{_datadir}/%{name}/undionly.kpxe -%doc COPYING COPYING.GPLv2 COPYING.UBDL +%license COPYING COPYING.GPLv2 COPYING.UBDL %changelog ++++++ _service ++++++ --- /var/tmp/diff_new_pack.SDZbdh/_old 2019-10-27 13:41:02.581269081 +0100 +++ /var/tmp/diff_new_pack.SDZbdh/_new 2019-10-27 13:41:02.581269081 +0100 @@ -1,7 +1,7 @@ <services> <service mode="disabled" name="tar_scm"> <param name="scm">git</param> - <param name="url">git://git.ipxe.org/ipxe.git</param> + <param name="url">https://git.ipxe.org/ipxe.git</param> <param name="exclude">.git</param> <param name="versionformat">1.0.0+git%cd.%h</param> <param name="filename">ipxe</param> ++++++ _servicedata ++++++ <servicedata> <service name="tar_scm"> <param name="url">https://git.ipxe.org/ipxe.git</param> <param name="changesrevision">3fe683ebab29afacf224e6b0921f6329bebcdca7</param></service></servicedata>++++++ ipxe-1.0.0+git20190817.0b3000bb.tar.gz -> ipxe-1.0.0+git20190929.3fe683eb.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipxe-1.0.0+git20190817.0b3000bb/src/drivers/net/lan78xx.c new/ipxe-1.0.0+git20190929.3fe683eb/src/drivers/net/lan78xx.c --- old/ipxe-1.0.0+git20190817.0b3000bb/src/drivers/net/lan78xx.c 2019-08-17 18:51:18.000000000 +0200 +++ new/ipxe-1.0.0+git20190929.3fe683eb/src/drivers/net/lan78xx.c 2019-09-29 21:59:22.000000000 +0200 @@ -198,6 +198,13 @@ LAN78XX_BULK_IN_DLY_SET ( 0 ) ) ) != 0 ) goto err_bulk_in_dly; + /* Enable automatic speed and duplex detection */ + if ( ( rc = smscusb_writel ( smscusb, LAN78XX_MAC_CR, + ( LAN78XX_MAC_CR_ADP | + LAN78XX_MAC_CR_ADD | + LAN78XX_MAC_CR_ASD ) ) ) != 0 ) + goto err_mac_cr; + /* Configure receive filters */ if ( ( rc = smscusb_writel ( smscusb, LAN78XX_RFE_CTL, ( LAN78XX_RFE_CTL_AB | @@ -256,6 +263,7 @@ err_fct_tx_ctl: err_fct_rx_ctl: err_rfe_ctl: + err_mac_cr: err_bulk_in_dly: err_int_ep_ctl: usbnet_close ( &smscusb->usbnet ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipxe-1.0.0+git20190817.0b3000bb/src/drivers/net/lan78xx.h new/ipxe-1.0.0+git20190929.3fe683eb/src/drivers/net/lan78xx.h --- old/ipxe-1.0.0+git20190817.0b3000bb/src/drivers/net/lan78xx.h 2019-08-17 18:51:18.000000000 +0200 +++ new/ipxe-1.0.0+git20190929.3fe683eb/src/drivers/net/lan78xx.h 2019-09-29 21:59:22.000000000 +0200 @@ -49,6 +49,12 @@ #define LAN78XX_FCT_TX_CTL 0x00c4 #define LAN78XX_FCT_TX_CTL_EN 0x80000000UL /**< FCT TX enable */ +/** MAC control register */ +#define LAN78XX_MAC_CR 0x0100 +#define LAN78XX_MAC_CR_ADP 0x00002000UL /**< Duplex polarity */ +#define LAN78XX_MAC_CR_ADD 0x00001000UL /**< Auto duplex */ +#define LAN78XX_MAC_CR_ASD 0x00000800UL /**< Auto speed */ + /** MAC receive register */ #define LAN78XX_MAC_RX 0x0104 #define LAN78XX_MAC_RX_MAX_SIZE(mtu) ( (mtu) << 16 ) /**< Max frame size */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipxe-1.0.0+git20190817.0b3000bb/src/drivers/usb/usbio.c new/ipxe-1.0.0+git20190929.3fe683eb/src/drivers/usb/usbio.c --- old/ipxe-1.0.0+git20190817.0b3000bb/src/drivers/usb/usbio.c 2019-08-17 18:51:18.000000000 +0200 +++ new/ipxe-1.0.0+git20190929.3fe683eb/src/drivers/usb/usbio.c 2019-09-29 21:59:22.000000000 +0200 @@ -351,8 +351,7 @@ } /* Construct transfer */ - assert ( iob_len ( iobuf ) >= sizeof ( *msg ) ); - msg = iobuf->data; + msg = iob_push ( iobuf, sizeof ( *msg ) ); iob_pull ( iobuf, sizeof ( *msg ) ); request = le16_to_cpu ( msg->setup.request ); len = iob_len ( iobuf ); @@ -973,6 +972,10 @@ unsigned int fill; unsigned int index; + /* Fail if shutdown is in progress */ + if ( efi_shutdown_in_progress ) + return -ECANCELED; + /* Fail if transfer ring is full */ fill = ( endpoint->prod - endpoint->cons ); if ( fill >= USBIO_RING_COUNT ) @@ -995,6 +998,11 @@ */ static int usbio_endpoint_message ( struct usb_endpoint *ep, struct io_buffer *iobuf ) { + struct usb_setup_packet *setup; + + /* Adjust I/O buffer to start of data payload */ + assert ( iob_len ( iobuf ) >= sizeof ( *setup ) ); + iob_pull ( iobuf, sizeof ( *setup ) ); /* Enqueue transfer */ return usbio_endpoint_enqueue ( ep, iobuf, USBIO_MESSAGE ); @@ -1022,6 +1030,10 @@ */ static void usbio_endpoint_poll ( struct usbio_endpoint *endpoint ) { + /* Do nothing if shutdown is in progress */ + if ( efi_shutdown_in_progress ) + return; + /* Poll endpoint */ endpoint->op->poll ( endpoint ); }
