~kamalmostafa/ubuntu/+source/linux/+git/focal:master-next
- Git
- lp:~kamalmostafa/ubuntu/+source/linux/+git/focal
- master-next
- Get this branch:
-
git clone
-b master-next
https://git.launchpad.net/~kamalmostafa/ubuntu/+source/linux/+git/focal
Branch merges
Related source package recipes
Branch information
- Name:
- master-next
- Repository:
- lp:~kamalmostafa/ubuntu/+source/linux/+git/focal
Recent commits
- ca85dae... by Stefan Bader
-
UBUNTU: [dep-8] Allow all hwe kernels
BugLink: https:/
/bugs.launchpad .net/bugs/ 1908529 The dep-8 tests are limited to kernels which are bootable. But with
moving to versioned hwe kernels this would require constant change.
To avoid that, just allow any kernel source starting with linux-hwe.Signed-off-by: Stefan Bader <email address hidden>
Signed-off-by: Kleber Sacilotto de Souza <email address hidden>
Acked-by: Seth Forshee <email address hidden>
Acked-by: Colin Ian King <email address hidden>
Signed-off-by: Kleber Sacilotto de Souza <email address hidden> - 516f074... by Markus Theil <email address hidden>
-
mt76: fix fix ampdu locking
BugLink: https:/
/bugs.launchpad .net/bugs/ 1906770 The current ampdu locking code does not unlock its mutex in the early
return case. This patch fixes it.Signed-off-by: Markus Theil <email address hidden>
Acked-by: Felix Fietkau <email address hidden>
Signed-off-by: Kalle Valo <email address hidden>
(cherry picked from commit 05d6c8cfdbd6cefac6b373bad72775 fcc4193c80)
Signed-off-by: Shrirang Bagul <email address hidden>
Acked-by: Kai-Heng Feng <email address hidden>
Acked-by: Kleber Sacilotto de Souza <email address hidden>
Signed-off-by: Ian May <email address hidden> - fc00e2f... by Sreekanth Reddy
-
scsi: mpt3sas: Bump driver version to 35.101.00.00
BugLink: https:/
/bugs.launchpad .net/bugs/ 1899802 Bump mpt3sas driver version to 35.101.00.00
Link: https://<email address hidden>
Signed-off-by: Sreekanth Reddy <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 2030745877bdd2ecbeb43ff1846242 d004482587)
Signed-off-by: Michael Reed <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Kleber Sacilotto de Souza <email address hidden>
Signed-off-by: Ian May <email address hidden> - ac3fb8e... by Sreekanth Reddy
-
scsi: mpt3sas: Add module parameter multipath_on_hba
BugLink: https:/
/bugs.launchpad .net/bugs/ 1899802 Add module parameter multipath_on_hba to enable/disable multi-port path
topology support. By default this feature is enabled on SAS3.5 HBA device
and disabled on SAS3 &SAS2.5 HBA devices.When this feature is disabled then driver uses a default
PhysicalPort(PortID) number i.e. 255 instead of the PhysicalPort number
provided by HBA firmware.Link: https://<email address hidden>
Signed-off-by: Sreekanth Reddy <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 324c122fc0a41d258239c853854eef d186ae1290)
Signed-off-by: Michael Reed <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Kleber Sacilotto de Souza <email address hidden>
Signed-off-by: Ian May <email address hidden> - 1030627... by Sreekanth Reddy
-
scsi: mpt3sas: Handle vSES vphy object during HBA reset
BugLink: https:/
/bugs.launchpad .net/bugs/ 1899802 During HBA reset the Port ID of vSES device may change. As a result, it is
necessary to refresh virtual_phy objects after reset.Each Port's vphy_list table needs to be updated after updating the
HBA port table. The algorithm is as follows:- Loop over each port entry from HBA port table
* Loop over each virtual phy entry from port's vphys_list table
- Mark virtual phy entry as dirty by setting dirty bit in virtual phy
entry's flags field
- Read SASIOUnitPage0 page
- Loop over each HBA Phy's Phy data from SASIOUnitPage0
* If phy's remote attached device is not SES device then continue with
processing next HBA Phy's Phy data;
* Read SASPhyPage0 data for this Phy number and determine whether
current phy is a virtual phy or not. If it is not a virtual phy then
continue with next Phy data;
* Get the current phy's remote attached vSES device's SAS Address;
* Loop over each port entry from HBA port table
- If Port's vphys_mask field is zero then continue with
next Port entry,
- Loop over each virtual phy entry from Port's vphy_list table
- If the current phy's remote SAS Address is different from
virtual phy entry's SAS Address then continue with next
virtual phy entry,
- Set bit corresponding to current phy number in virtual phy
entry's phy_mask field,
- Get the HBA port table's Port entry corresponding to
Phy data's 'Port' value,
* If there is no Port entry corresponding to Phy data's
'Port' value in HBA port table then create a new port entry
and add it to HBA port table.
- If this retrieved Port entry is the same as the current Port
entry then don't do anything, just clear the dirty bit from
virtual phy entry's flag field and continue with processing
next HBA Phy's Phy data.
- If this retrieved Port entry is different from the current Port
entry then move the current virtual phy entry from current Port's
vphys_list to retrieved Port entry's vphys_list.
* Clear current phy bit in current Port entry's vphys_mask and
set the current phy bit in the retrieved Port entry's
vphys_ mask field.
* Clear the dirty bit from virtual phy entry's flag field and
continue with next HBA Phy's Phy data.
- Delete the 'virtual phy' entries and HBA's 'Port table' entries which
are still marked as 'dirty'.Link: https://<email address hidden>
Signed-off-by: Sreekanth Reddy <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit ffa381d6373b10e83dbdac425fb72a ffc64084f3)
Signed-off-by: Michael Reed <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Kleber Sacilotto de Souza <email address hidden>
Signed-off-by: Ian May <email address hidden> - a547a13... by Sreekanth Reddy
-
scsi: mpt3sas: Add bypass_
dirty_port_ flag parameter BugLink: https:/
/bugs.launchpad .net/bugs/ 1899802 Added a new parameter bypass_
dirty_port_ flag in function
mpt3sas_get_port_ by_id() . When this parameter is set to one then search for
matching hba port entry from port_table_list even when this hba_port entry
is marked as dirty.Link: https://<email address hidden>
Signed-off-by: Sreekanth Reddy <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 34b0a78532f61e6059a26c0252fbc2 8c73761384)
Signed-off-by: Michael Reed <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Kleber Sacilotto de Souza <email address hidden>
Signed-off-by: Ian May <email address hidden> - e2d6633... by Sreekanth Reddy
-
scsi: mpt3sas: Handling HBA vSES device
BugLink: https:/
/bugs.launchpad .net/bugs/ 1899802 Each direct attached device will have a unique Port ID, but with an
exception. HBA vSES may use the same Port ID of another direct attached
device Port's ID. As a result, special handling is needed for vSES.Create a virtual_phy object when a new HBA vSES device is detected and add
this virtual_phy object to vphys_list of port ID's hba_port object. When
the HBA vSES device is removed then remove the corresponding virtual_phy
object from its parent's hba_port's vphy_list and free this virtual_vphy
object.In hba_port object add vphy_mask field to hold the list of HBA phy bits
which are assigned to vSES devices. Also add vphy_list list to hold list of
virtual_phy objects which holds the same portID of current hba_port's
portID.Also, add a hba_vphy field in _sas_phy object to determine whether this
_sas_phy object belongs to vSES device or not.- Allocate a virtual_phy object whenever a virtual phy is detected while
processing the SASIOUnitPage0's phy data. And this allocated virtual_phy
object to corresponding PortID's hba_port's vphy_list.- When a vSES device is added to the SML then initialize the corresponding
virtual_phy objects's sas_address field with vSES device's SAS Address.- Free this virtual_phy object during driver unload time and when this
vSES device is removed.Link: https://<email address hidden>
Signed-off-by: Sreekanth Reddy <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit ccc59923ba8d44ecf7cb60135e9934 bbb619da10)
Signed-off-by: Michael Reed <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Kleber Sacilotto de Souza <email address hidden>
Signed-off-by: Ian May <email address hidden> - 952a10b... by Sreekanth Reddy
-
scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough
BugLink: https:/
/bugs.launchpad .net/bugs/ 1899802 The driver currently sets PhysicalPort field to 0xFF for SMPPassthrough
Request message. In zoning topologies this SMPPassthrough command always
operates on devices in one zone (default zone) even when user issues SMP
command for other zone drives.Define _transport_
get_port_ id_by_rphy( ) and
_transport_get_port_ id_by_sas_ phy() helper functions to get Physical Port
number from sas_rphy & sas_phy respectively for SMPPassthrough request
message so that SMP Passthrough request message is sent to intended zone
device.Link: https://<email address hidden>
Signed-off-by: Sreekanth Reddy <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 9d0348a9d8e35142b809d0b9253431 2a22f6fd78)
Signed-off-by: Michael Reed <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Kleber Sacilotto de Souza <email address hidden>
Signed-off-by: Ian May <email address hidden> - 2461cba... by Sreekanth Reddy
-
scsi: mpt3sas: Update hba_port objects after host reset
BugLink: https:/
/bugs.launchpad .net/bugs/ 1899802 During host reset there is a chance that the Port number allocated by the
firmware for the attached devices may change. Also, it may be possible that
some HBA phy's can go down/come up after reset. As a result, the driver
can't just trust the HBA Port table that it has populated before host reset
as valid. Instead it has to update the HBA Port table in such a way that it
shouldn't disturb the drives which are still accessible even after host
reset.Use the following algorithm to update the HBA Port table during host reset:
I. After host reset operation and before marking the devices as
responding/non-responding, create a temporary Port table called "New
Port table" by parsing each of the HBA phy's Phy data info read from SAS
IOUnit Page0:a. Check whether Phy's negotiated link rate is greater than 1.5Gbps, if
not go to next Phy;b. Get the SAS Address of the attached device;
c. Create a new entry in the "New Port table" with SAS Address field
filled with attached device's SAS Address, port number with Phy's
Port number (read from SAS IOUnit Page0) and enable bit in the 'Phy
mask' field corresponding to current Phy number. New entry is
created only if the driver can't find an entry in the "New Port
table" which matches with attached device 'SAS Address' & 'Port
Number'. If it finds an entry with matches with attached device 'SAS
Address' & 'Port Number' then the driver takes that matched entry and
will enable current Phy number bit in the 'Phy mask' field;d. After parsing all the HBA phy's info, the driver will have complete
Port table info in "New Port table".II. Mark all the existing sas_device & sas_expander device structures as
'dirty'.III. Mark each entry of the HBA Port lists as 'dirty'.
IV. Take each entry from 'New Port table' one by one and check whether the
entry has any corresponding matched entry (which is marked as 'dirty')
in the HBA Port table or not. While looking for a corresponding
matched entry, look for matched entry in the sequence from top row to
bottom row listed in the following table. If you find any matched entry
(according to any of the rules tabulated below) then perform the action
mentioned in the 'Action' column in that matched rule.===
======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ==
|Search |SAS | Phy Mask | Port | Possibilities| Action |
|every |Address | or | Number | | required |
|entry |matched?| subset of| matched?| | |
|in below| | phy mask | | | |
|sequence| | matched? | | | |
========== ======= ======= ======= ======= ======= ======= ======= ======= ======= ==
| 1 |matched | matched | matched | nothing |* unmark HBA port |
| | | | | changed |table entry as |
| | | | | |dirty |
---------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --
| 2 |matched | matched | not | port number |* Update port |
| | | | matched | is changed |number in the |
| | | | | |matched port table |
| | | | | |entry |
| | | | | |* unmask HBA port |
| | | | | |table entry as |
| | | | | |dirty |
---------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --
| 3.a |matched | subset of| matched |some phys |* Add these new |
| | | phy mask | (or) |might have |phys to current |
| | | matched | not |enabled which |port in STL |
| | | | matched |are previously|* Update phy mask |
| | | | (but |disabled |field in HBA's port|
| | | | first | |table's matched |
| | | | look for| |entry, |
| | | | matched | |* Update port |
| | | | one) | |number in the |
| | | | | |matched port |
| | | | | |table entry (if |
| | | | | |port number is |
| | | | | |changed), |
| | | | | |* Unmask HBA port |
| | | | | |table entry as |
| | | | | |dirty |
---------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --
| 3.b |matched | subset of| matched |some phys |*Remove these phys |
| | | phy mask | (or) |might have |from current port |
| | | matched | not |disabled which|in STL |
| | | | matched |are previously|* Update phy mask |
| | | | (but |enabled |field in HBA's port|
| | | | first | |tables's matched |
| | | | look for| |entry, |
| | | | matched | |*Update port number|
| | | | one) | |in the matched port|
| | | | | |table entry (if |
| | | | | |port number is |
| | | | | |changed), |
| | | | | |* Unmask HBA port |
| | | | | |table entry as |
| | | | | |dirty |
---------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --
| 4 |matched | not | matched |A cable |*Remove old phys & |
| | | matched | (or) |attached to an|new phys to current|
| | | | not |expander is |port in STL |
| | | | matched |changed to |* Update phy mask |
| | | | |another HBA |field in HBA's port|
| | | | |port during |tables's matched |
| | | | |reset |entry, |
| | | | | |*Update port number|
| | | | | |in the matched port|
| | | | | |table entry (if |
| | | | | |port number is |
| | | | | |changed), |
| | | | | |* Unmask HBA port |
| | | | | |table entry as |
| | | | | |dirty |
---------- ------- ------- ------- ------- ------- ------- ------- ------- ------- -- V. Delete the hba_port objects which are still marked as dirty.
Link: https://<email address hidden>
Reported-by: kernel test robot <email address hidden>
Reported-by: Dan Carpenter <email address hidden>
Signed-off-by: Sreekanth Reddy <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit a5e99fda017218516d3c66bec5ed34 6283ae722b)
Signed-off-by: Michael Reed <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Kleber Sacilotto de Souza <email address hidden>
Signed-off-by: Ian May <email address hidden> - 9831477... by Sreekanth Reddy
-
scsi: mpt3sas: Get sas_device objects using device's rphy
BugLink: https:/
/bugs.launchpad .net/bugs/ 1899802 In the following scsi_host_template and sas_function_
template callback
functions the driver does not have PhysicalPort number information to
retrieve the sas_device object using SAS Address & PhysicalPort number. In
these callback functions the device's rphy object is used to retrieve
sas_device object for the device..target_alloc,
.get_enclosure_identifier
.get_bay_identifierWhen a rphy (of type sas_rphy) object is allocated then its address is
saved in corresponding sas_device object's rphy field. In
__mpt3sas_get_sdev_ by_rphy( ), the driver loops over all the sas_device
objects from sas_device_list list to retrieve the sas_device objects whose
rphy matches the provided rphy.Link: https://<email address hidden>
Signed-off-by: Sreekanth Reddy <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 6df6be9168f50369ba843f2a12fe85 37effbaff1)
Signed-off-by: Michael Reed <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Kleber Sacilotto de Souza <email address hidden>
Signed-off-by: Ian May <email address hidden>