rpms/kernel/devel linux-2.6-firewire-increase-mgt-orb-timeout.patch, NONE, 1.1 kernel.spec, 1.368, 1.369
Jarod Wilson (jwilson)
fedora-extras-commits at redhat.com
Fri Jan 18 22:04:31 UTC 2008
- Previous message (by thread): rpms/isns-utils/devel .cvsignore, NONE, 1.1 Makefile, NONE, 1.1 sources, NONE, 1.1
- Next message (by thread): rpms/paraview/devel paraview-3.2.1-make.patch, NONE, 1.1 paraview.spec, 1.19, 1.20
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jwilson
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4991
Modified Files:
kernel.spec
Added Files:
linux-2.6-firewire-increase-mgt-orb-timeout.patch
Log Message:
* Fri Jan 18 2008 Jarod Wilson <jwilson at redhat.com>
- Increase management orb reply timeout in firewire-sbp2 driver,
should make a lot of firewire drives behave a LOT better with
the juju stack (#428554, #238606, #391701)
linux-2.6-firewire-increase-mgt-orb-timeout.patch:
--- NEW FILE linux-2.6-firewire-increase-mgt-orb-timeout.patch ---
Increase (and rename) the management orb reply timeout value
to 20s to match that of the old firewire stack. 2s simply didn't
give many devices enough time to spin up and reply.
Also add note re: the lack of mgt_ORB_timeout handling, as some
devices *can* specify a timeout in their config rom, but most
don't, so bothering to check really doesn't buy us much.
Signed-off-by: Jarod Wilson <jwilson at redhat.com>
drivers/firewire/fw-sbp2.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/drivers/firewire/fw-sbp2.c b/drivers/firewire/fw-sbp2.c
index 9040417..1e8574e 100644
--- a/drivers/firewire/fw-sbp2.c
+++ b/drivers/firewire/fw-sbp2.c
@@ -150,9 +150,16 @@ struct sbp2_target {
struct list_head lu_list;
};
-#define SBP2_MAX_SG_ELEMENT_LENGTH 0xf000
+/*
+ * Per section 7.4.8 of the SBP-2 spec, an mgt_ORB_timeout value
+ * can be provided in some config roms, but usually isn't, so we
+ * just use 20s rather than hassling with it, since we won't buy
+ * anything except on devices with disgustingly long timeouts.
+ */
+#define SBP2_MGT_ORB_TIMEOUT 20000 /* Timeout in ms */
#define SBP2_ORB_TIMEOUT 2000 /* Timeout in ms */
#define SBP2_ORB_NULL 0x80000000
+#define SBP2_MAX_SG_ELEMENT_LENGTH 0xf000
#define SBP2_DIRECTION_TO_MEDIA 0x0
#define SBP2_DIRECTION_FROM_MEDIA 0x1
@@ -487,6 +494,7 @@ sbp2_send_management_orb(struct sbp2_logical_unit *lu, int node_id,
{
struct fw_device *device = fw_device(lu->tgt->unit->device.parent);
struct sbp2_management_orb *orb;
+ unsigned int timeout;
int retval = -ENOMEM;
orb = kzalloc(sizeof(*orb), GFP_ATOMIC);
@@ -517,7 +525,9 @@ sbp2_send_management_orb(struct sbp2_logical_unit *lu, int node_id,
orb->request.misc |=
MANAGEMENT_ORB_EXCLUSIVE(sbp2_param_exclusive_login) |
MANAGEMENT_ORB_RECONNECT(0);
- }
+ timeout = SBP2_MGT_ORB_TIMEOUT;
+ } else
+ timeout = SBP2_ORB_TIMEOUT;
fw_memcpy_to_be32(&orb->request, &orb->request, sizeof(orb->request));
@@ -534,7 +544,7 @@ sbp2_send_management_orb(struct sbp2_logical_unit *lu, int node_id,
lu->tgt->management_agent_address);
wait_for_completion_timeout(&orb->done,
- msecs_to_jiffies(SBP2_ORB_TIMEOUT));
+ msecs_to_jiffies(timeout));
retval = -EIO;
if (sbp2_cancel_orbs(lu) == 0) {
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.368
retrieving revision 1.369
diff -u -r1.368 -r1.369
--- kernel.spec 17 Jan 2008 23:59:31 -0000 1.368
+++ kernel.spec 18 Jan 2008 22:03:39 -0000 1.369
@@ -659,6 +659,7 @@
# linux1394 git patches
Patch2200: linux-2.6-firewire-git-update.patch
+Patch2201: linux-2.6-firewire-increase-mgt-orb-timeout.patch
%endif
@@ -1188,6 +1189,7 @@
# linux1394 git patches
ApplyPatch linux-2.6-firewire-git-update.patch
+ApplyPatch linux-2.6-firewire-increase-mgt-orb-timeout.patch
# ---------- below all scheduled for 2.6.24 -----------------
@@ -1757,6 +1759,11 @@
%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
%changelog
+* Fri Jan 18 2008 Jarod Wilson <jwilson at redhat.com>
+- Increase management orb reply timeout in firewire-sbp2 driver,
+ should make a lot of firewire drives behave a LOT better with
+ the juju stack (#428554, #238606, #391701)
+
* Thu Jan 17 2008 Kyle McMartin <kmcmartin at redhat.com>
- Enable CONFIG_TCG_INFINEON on ia64-generic.
- Previous message (by thread): rpms/isns-utils/devel .cvsignore, NONE, 1.1 Makefile, NONE, 1.1 sources, NONE, 1.1
- Next message (by thread): rpms/paraview/devel paraview-3.2.1-make.patch, NONE, 1.1 paraview.spec, 1.19, 1.20
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list